簡體   English   中英

登錄后重定向錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM