2017-12-30 2 views
0

Wenn ich mein Django-Projekt von der Login-Seite fange die URL wie diese zeigt, ist:Wie versteckt man den nächsten Parameter, der auf der URL in Django erscheint?

http://127.0.0.1:8000/login/?next=/ 

Aber was ich will nur so viel:

http://127.0.0.1:8000/login 

Was die Art und Weise ist es, diese nächsten Parameter zu verstecken Erscheinen zur URL? Ich habe Login-URL gesetzt und Login-URLs umleiten zum settings.py:

settings.py

LOGIN_URL = '/login/' 
LOGIN_REDIRECT_URL = '/' 

urls.py

urlpatterns = [ 
    url(r'^$',views.index,name='home'), 
    url(r'login/$',views.userLogin,name='login'), 
] 
+2

[Dies könnte Ihnen helfen] (https://stackoverflow.com/questions/10950409/suppress-next-blah-behavior-in-djangos-login-required-decorator) –

+1

Sie möchten eigentlich dies tun? Wenn Sie andere Seiten haben, die eine Anmeldung erfordern, und der Benutzer direkt zu ihnen geht - es macht nicht viel von einer Benutzererfahrung, sie müssen sich anmelden, gehen Sie auf die Homepage, und gehen Sie dann zurück, wohin sie später gehen wollten ... –

Antwort

0

Dieses Verhalten in den AccessMixin in django befindet. Beitrag.auth.

Wenn Sie es nicht mögen - erben von LoginRequiredMixin und überschreiben redirect_field_name, um '' oder None zurückzugeben. Sie müssen diese Mischung anschließend für die Ansichten verwenden, für die Sie die Anmeldung erzwingen möchten.

Sie sollten einen guten Grund dafür haben. Normalerweise ist dieses Verhalten nützlich, wie bereits in den obigen Kommentaren erwähnt.

Verwandte Themen