ich verwende reverse_lazy folgendSenden Argument in reverse_lazy django - Python
def index:
if firstTimeLogin == 0:
response = HttpResponseRedirect(reverse_lazy('abc', args={'cid': 0}))
else:
response = HttpResponseRedirect(reverse_lazy('abc', args={'cid': 1}))
abc Ansicht
def abc(request, userid = None, cid =1):
return HttpResponse(cid)
urls.py
url(r'^abc/$', views.abc, name='abc'),
url(r'^abc/(?P<userid>.*)/$', views.abc, name='abc'),
url(r'^abc/(?P<cid>.*)/$', views.abc, name='abc'),
Wenn ich jetzt weitergeleitet zu def abc durch reverse_lazy bekomme ich URL wie: baseurl/appname/abc/cid
, hier weiß ich nicht, wie ich va holen kann lue von cid.
Bitte korrigieren Sie, wenn ein anderer Ansatz erforderlich ist. Ich muss nur etwas Argument übergeben reverse_lazy die ich
verweis in def abc
Update holen wollen, was romaan sagt: Ich habe aktualisiert: urls.py als:
url(r'^abc/(?P<cid>.*)/$', views.abc, name='abcfirst')
und umleiten als:
response = HttpResponseRedirect(reverse_lazy('abcfirst', args={'cid': 1}))
immer noch kann ich nicht auf Argumente zugreifen, die ich durch reverse_lazy sende.
'name', die Sie geben, sollte die URL Route anstatt die Ansicht zu identifizieren. Daher vorzuziehen, verschiedene Namen in URL zu verwenden und jede Verwirrung zu vermeiden – Romaan