Python 如何在从settings.py中的登录url反转时将参数传递到django中的登录视图?
我有以下问题: 我有一个应用程序,需要在登录时传递一个参数,因此url结构如下-> 其中“parameter”是稍后从数据库匹配的变量 项目运行正常,但出现以下情况时除外: 其中“home”是要求用户通过@login\u required登录的视图 因此,项目检查settings.py文件中的登录url并尝试转到那里 然后我得到以下错误:Python 如何在从settings.py中的登录url反转时将参数传递到django中的登录视图?,python,django,bitnami,Python,Django,Bitnami,我有以下问题: 我有一个应用程序,需要在登录时传递一个参数,因此url结构如下-> 其中“parameter”是稍后从数据库匹配的变量 项目运行正常,但出现以下情况时除外: 其中“home”是要求用户通过@login\u required登录的视图 因此,项目检查settings.py文件中的登录url并尝试转到那里 然后我得到以下错误: NoReverseMatch at /parameter/home/ Reverse for 'login_view' with arguments '(
NoReverseMatch at /parameter/home/
Reverse for 'login_view' with arguments '()' and keyword arguments '{}' not found.
在my settings.py中
在我看来.py
在URL.py中
url(r'^(?P\w+/$,'myproject.apps.myapp.views.login_view'),
那么,如果settings.py在url配置之前进入登录视图,如何传递该参数呢 您只需将参数作为
kwargs
LOGIN_URL = reverse_lazy('login_view', kwargs={'parameter': 'login_parameter'})
通常登录url不属于
settings.py
。您只需将其放入您的url.py
中,问题是如何获取在URL中键入的login\u参数我不确定,我没有弄错:如果您想访问该参数,在您看来,在参数变量中是这样的。在尝试了您建议的内容之后,它重定向到以下内容:那么我如何才能摆脱帐户/login to be/login_parameter/下一部分仅用于homelogin_参数是一个字符串。您可以在那里放置任何函数来计算登录参数。e、 g.reverse\u lazy('login\u view',kwargs={'parameter':calculate\u parameter()})
def login_view(request, parameter):
url(r'^(?P<parameter>\w+)/$', 'myproject.apps.myapp.views.login_view'),
LOGIN_URL = reverse_lazy('login_view', kwargs={'parameter': 'login_parameter'})