我只是好奇我这样做是否正确。
我正在编写一个网站的私有(private)部分,并编写了一个登录 View ,该 View 会弹出一个登录窗口。我想为几个 url 重用这个 View ,一旦授予访问权限,这些 url 都会转到不同的 View 。看来你不能在 urls.py 的语句中传递参数,所以我给登录 View 一个额外的参数 redirect
def login(request, redirect):
code to read the login form and parse the POST input
if POST and loginSuccessful:
return redirect(request)
else:
return render_to_response('login.html', context)
...并使每个特定的 url 都激活一个不同的单行程序,例如 login_to_admin
,它只返回带有重定向参数的登录 View 。
def login_to_admin(request):
return login(request, admin)
def login_to_beta(beta):
return login(request, beta)
一切正常,我只是想知道这是否是正确的方法。
最佳答案
It doesn't appear that you can pass arguments in the statements in urls.py
url conf 中的第三项可以是将传递给您的 View 函数的 kwargs 字典。
(r'^my_url/$', 'login', {'redirect': admin}),
(r'^my_other_url/$', 'login', {'redirect': beta}),
关于python - django - 重用登录模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8623101/