2012-05-23 32 views
7

我可以使用登錄頁面:/admin供非職員用戶登錄嗎?我使用以下設置在我的Django的設置文件:我們可以在django的/ admin中使用登錄頁面供我們自己使用嗎?

LOGIN_URL = '/admin/' 
LOGIN_REDIRECT_URL = '/' 

當我登錄,它不重定向我的根文件夾。我是否正確地做這件事?

注意:我在我的視圖上使用修飾器@login_required

編輯

它記錄了我對管理的網站與此網址:http://127.0.0.1:8000/admin/?next=/

回答

10

非工作人員無法通過管理員查看註冊,所以你不能。

有一個Django認爲,不正是無論你需要什麼,:django.contrib.auth.views.login

您可以輕鬆地將它添加到您的urlconf

from django.contrib.auth.views import login 

urlpatterns = ('', 
    #snip 
    url(r'^login/$', login) 
) 

檢查文檔,看看如何自定義其行爲:https://docs.djangoproject.com/en/dev/topics/auth/#limiting-access-to-logged-in-users

您只需要爲要使用的視圖定義一個模板,默認情況下它應該位於registration/login.html,但可以被覆蓋。

7

使用Django 1.6我可以使用django自己的管理員登錄模板,並使用以下設置。 後來,當我打開「/」,它會我重定向到登錄界面,並送我回到「/」

settings.py

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'core', 
    'south', 
) 

LOGIN_URL = '/login' 

urls.py在它登陸後

from django.conf.urls import patterns, include, url 
from django.contrib import admin 
from django.contrib.auth.views import login 

admin.autodiscover() 
urlpatterns = patterns(
    '', 
    url(r'^', include('core.urls')), 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^login/$', login, {'template_name': 'admin/login.html'}) 
    # I didn't create this 'admin/login.html' template 
    # Django will use the one from the admin application ;-) 
) 

芯/ urls.py

from django.conf.urls import patterns, url 
urlpatterns = patterns(
    'core.views.web_views', 
    url(r'^$', 'home'), 
) 

芯/視圖/ web_views.py

from django.shortcuts import render_to_response 
from django.template.context import RequestContext 

__author__ = 'tony' 

from django.contrib.auth.decorators import login_required 

@login_required 
def home(request): 
    return render_to_response('home.html', {}, context_instance = RequestContext(request)) 
相關問題