2014-11-02 307 views
1

我試圖使視圖受限,除非登錄完成。是跟着tuts +加django unchained教程Django - login_required不重定向

然而,login_required裝飾器不知道怎麼做沒有做的工作。我究竟做錯了什麼?

一部分在views.py(login_required已導入)

@login_required 
def story(request): 
    if request.method == "POST": 
     form = StoryForm(request.POST) 
     if form.is_valid(): 
       form.save() 
       return HttpResponseRedirect('/') 
    else: 
     form = StoryForm() 
    return render(request, 'stories/story.html', {'form': form}) 

沒有變化已經urls.py.被帶到所以我希望在無法找到/登錄時發生錯誤。但不知怎的,這並沒有發生。

settings.py有LOGIN_URL = 「/登錄/」

+0

您確定它是否已被導入?你的導入是什麼樣的? – rnevius 2014-11-02 10:21:50

+0

嘗試'@login_required(login_url ='/ login /')'。你必須在'urls.py'中添加條目。 – 2014-11-02 10:49:20

+0

當您訪問url時,您看到的與匿名用戶相對應的視圖?追溯? 403禁止? – stalk 2014-11-02 10:51:00

回答

1

我不知道爲什麼會發生這種情況。但由於某種原因,在Chrome瀏覽器中,默認故事視圖打開時沒有重定向到/ login,而在Firefox中它工作正常。我試着在Chrome中清除緩存的圖片&文件,但沒有幫助。

現在我只是使用Firefox來通過它。

+0

我得到同樣的問題。你的情況是否解決了這個問題? – r3ign 2016-04-23 18:05:32

0

urls.py添加一個條目是這樣的:

(r'^login/$', 'login_view'), 

或者您可以使用您settings.py和使用刪除LOGIN_URL = "/login/"

@login_required(login_url='/login/') 

在這兩種情況下,您必須添加條目到urls.py

+0

我沒有嘗試過。還是行不通。故事視圖打開時沒有重定向到登錄頁面 – 2014-11-02 18:12:02

-1

我有同樣的問題。我清除了Chrome chache,但沒有奏效。現在我正在Firefox上運行它並正確運行它

+2

這不回答這個問題。 – 2017-07-25 05:52:00

+0

上面提到的所有步驟(問題和答案)都是正確的,但該代碼仍然無法正常工作。我遇到了同樣的問題,我的解決方案正在轉向Firefox。它改變了這個問題 – 2017-07-26 06:57:22

+0

這不能回答這個問題。回答問題意味着提供解決問題的有用方法,而改變瀏覽器則不是。爲什麼不告訴所有的用戶不要使用特定的瀏覽器?這不是Web應用程序開發的內容,請稍微現實一點。 – 2017-12-16 20:42:58