我正在使用指向同一个视图的多个网址,因为有时我会向网址发送2个值而其他只有一个,当我尝试捕获值时,问题出现在视图中我的名字并不重要关于url中的变量,我在url中使用seguros和fac作为变量,但是当捕获视图中的值时,它总是在相同的变量事实中捕获它,我需要在diferente变量中捕获它们,因为在我发送它们的模板我需要做一个if,但我不能。有人可以告诉我为什么会发生这种情况,我能做些什么,所以seguro的价值在变量seguro中捕获它,而fac的值在fac中捕获它。这是我的代码。
Template.html
{% if facturas %}
<a style="text-align: center" href="{% url 'seguimientoadministrativourls:crearseguimientoadministrativo' id=post.id_paciente.pk fac=facturas %}"><span class="glyphicon glyphicon-pushpin"></span> </a>
{% elif seguros %}
<a style="text-align: center" href="{% url 'seguimientoadministrativourls:crearseguimientoadministrativo' id=post.id_paciente.pk seguros=seguros %}"><span class="glyphicon glyphicon-pushpin"></span>
</a>
{% else %}
<a style="text-align: center" href="{% url 'seguimientoadministrativourls:crearseguimientoadministrativo' id=post.id_paciente.pk %}"><span class="glyphicon glyphicon-pushpin"></span>
</a>
{%endif%}
urls.py
url(r'^crearseguimientoadministrativo/(?P<id>\d+)$',
permission_required(
'seguimientoadministrativo.add_seguimientoadministrativobitacora',
login_url='/sin_acceso')(CrearSeguimientoAdministrativo.as_view()),
name='crearseguimientoadministrativo'),
url(r'^crearseguimientoadministrativo/(?P<id>\d+)/(?P<fac>\S+)$',
permission_required(
'seguimientoadministrativo.add_seguimientoadministrativobitacora',
login_url='/sin_acceso')(CrearSeguimientoAdministrativo.as_view()),
name='crearseguimientoadministrativo'),
url(r'^crearseguimientoadministrativo/(?P<id>\d+)/(?P<seguros>\S+)$',
permission_required(
'seguimientoadministrativo.add_seguimientoadministrativobitacora',
login_url='/sin_acceso')(CrearSeguimientoAdministrativo.as_view()),
name='crearseguimientoadministrativo'),
views.py
class CrearSeguimientoAdministrativo(ListView):
template_name = 'crearseguimientoAdmin.html'
model = SeguimientoAdministrativoBitacora
paginate_by = 10
def get_queryset(self, **kwargs):
id = self.kwargs.get('id')
query = DatosPaciente.objects.filter(pk=id)
return query
def get_context_data(self, **kwargs):
context = super(
CrearSeguimientoAdministrativo, self).get_context_data(**kwargs)
context['seguimiento'] = SeguimientoAdministrativoBitacora.objects.filter(
id_paciente=paciente)
context['factura'] = self.kwargs.get('fac')
context['seguro'] = self.kwargs.get('seguros')
return context
答案 0 :(得分:1)
网址解析器如何区分您的网址?它们都是&#34; crearseguimientoadministrativo / numbers / string&#34 ;;没有办法告诉哪个字符串代表&#34; fac&#34;这是一个&#34; seguros&#34;。你需要添加一些其他的区分方式;也许是.../<id>/fac/<fac>/
和.../<id>/seguros/<seguros>/
。