使用指向同一视图的多个 urls,无法从视图中的 url 捕获变量

Using multiples urls pointing to the same view, can't catch the variable from the url in the view

我正在使用多个 url 指向同一个视图,因为有时我会向 url 发送 2 个值,而另一个只发送一个,当我尝试时,问题出在视图中为了捕获值,我不关心 url 中变量的名称,我在 url 中使用 seguros 和 fac 作为变量,但是当捕获视图中的值时,它总是捕获它在同一个变量事实中,我需要在不同的变量中捕获它们,因为在我发送它们的模板中我需要做一个 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

URL 解析器应该如何区分您的 URL?它们都是"crearseguimientoadministrativo/numbers/string"的形式;无法分辨哪个字符串代表 "fac",哪个字符串代表 "seguros"。您需要添加一些其他区分方式;也许 .../<id>/fac/<fac>/.../<id>/seguros/<seguros>/.