[英]Error redirecting after login
我嘗試在注冊后將用戶重定向到創建配置文件表單。由於我不知道如何為LOGIN_REDIRECT_URL使用動態網址。我嘗試了將其鏈接到靜態視圖,然后最終使用redirect
鏈接到動態視圖的小技巧。 Reverse for 'add_profile' with arguments '()' and keyword arguments '{'username': u'badguy'}' not found. 0 pattern(s) tried: []
它給出錯誤Reverse for 'add_profile' with arguments '()' and keyword arguments '{'username': u'badguy'}' not found. 0 pattern(s) tried: []
Reverse for 'add_profile' with arguments '()' and keyword arguments '{'username': u'badguy'}' not found. 0 pattern(s) tried: []
(使用'badguy'確實是剛注冊用戶的用戶名')。由於錯誤,它顯然將用戶名傳遞給了視圖。我的代碼是:
settings.py
LOGIN_REDIRECT_URL = '/prof-change/gdyu734648dgey83y37gyyeyu8g/'
urls.py
url(r'^prof-change/gdyu734648dgey83y37gyyeyu8g/',views.login_redir,name='login_redir'),
url(r'^create-profile/(?P<username>\w+)/$',views.add_profile,name='create-profile'),
views.py
def login_redir(request):
user=get_object_or_404(User,username=request.user.username)
username=user.username
return redirect('add_profile',username=username)
def add_profile(request,username):
userman=User.objects.get(username=username)
........
........
反向url時(包括當您使用帶有redirect
快捷方式的url名稱時),應使用url模式的名稱,而不是視圖的名稱。 網址格式具有name='create-profile'
,因此使用它。
redirect('create-profile', username=username)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.