2016-04-28 139 views
1

我有一個項目與日誌應用程序。我刪除它,並已完成註冊申請,以便整合數據庫,如果你沒有註冊,你不能登錄.....但是當我運行我的Django項目。我在reg應用程序中獲得一個屬性錯誤,但我不知道如何解決它。屬性錯誤:'模塊'對象沒有屬性'register_success'

REG/urls.py

from django.conf.urls import url 

from . import views 

urlpatterns = [ 
    url(r'^$', views.login, name='login'), 
    url(r'^$', views.auth_view, name='auth_view'), 
    url(r'^$', views.loggedin, name='loggedin'), 
    url(r'^$', views.invalid_login, name='invalid_login'), 
    url(r'^$', views.register_user, name='register_user'), 
    url(r'^$', views.logout, name='logout'), 
    url(r'^$', views.register_success, name='register_success'), 

] 

REG/views.py

from django.shortcuts import render 
from django.shortcuts import render_to_response 
from django.http import HttpResponseRedirect 
from django.contrib import auth 
from django.core.context_processors import csrf 
def login(request): 
    c = {} 
    c.update(csrf(request)) 
    return render_to_response('login.html', c) 

def auth_view(request): 
    username = request.POST.get('username', '') 
    password = request.POST.get('password', '') 
    user = auth.authenticated(username=username, password=password) 

    if user is not None: 
     auth.login(request, user) 
     return HttpResponseRedirect('loggedin') 
    else: 
     return HttpResponseRedirect('invalid') 

def loggedin(request): 
    return render_to_response('loggedin.html', 
          {'full_name': request.user.username}) 
def invalid_login(request): 
    return render_to_response('invalid_login.html') 
def logout(request): 
    auth.logout(request) 
    return render_to_response('logout.html') 
def register_user(request): 
    if request.method == 'POST': 
     form = UserCreationForm(request.POST) 
     if form.is_valid(): 
      form.save() 
      return HttpResponseRedirect('register_success') 


    args = {} 
    args.update(csrf(request)) 

    args['form'] = UserCreationForm() 

    return render_to_response('register.html', args) 
def register_success(request): 
    return render_to_response('register_success.html') 

網站/ urls.py

from django.conf.urls import include, url 
from django.contrib import admin 
from django.contrib.auth import views as auth_views 
from django.contrib.auth import views 
from log.forms import LoginForm 

urlpatterns = [ 
url(r'^admin/', admin.site.urls),  
url(r'^aps/', include('aps.urls')), 
url(r'^mail/', include('mail.urls')), 
url(r'^reg/', include('reg.urls')), 
url(r'^reg/register_success/$', views.register_success), 
url(r'^reg/register/$', views.register_user), 
url(r'^reg/invalid/$', views.invalid_login), 
url(r'^reg/loggedin/$', views.loggedin), 
url(r'reg/login/$', views.login), 
url(r'reg/logout/$', views.logout), 
url(r'reg/auth/$', views.auth_view), 


] 

回答

1

你並不需要添加下的所有網址reg/urls.py分別爲site/urls.py,因爲url(r'^reg/', include('reg.urls'))已經自動爲你做。

這裏是urlpatterns修正版本中sites/urls.py定義:

from django.conf.urls import patterns 

urlpatterns = patterns(
    "", 
    (r'^admin/', admin.site.urls),  
    (r'^aps/', include('aps.urls'), 
    (r'^mail/', include('mail.urls'), 
    (r'^reg/', include('reg.urls'), 
) 

reg/urls.py

from django.conf.urls import patterns 

urlpatterns = patterns(
    "", 
    url(r'^login/$', views.login, name='login'), 
    url(r'^auth/$', views.auth_view, name='auth_view'), 
    url(r'^loggedin/$', views.loggedin, name='loggedin'), 
    url(r'^invalid/$', views.invalid_login, name='invalid_login'), 
    url(r'^register/$', views.register_user, name='register_user'), 
    url(r'^logout/$', views.logout, name='logout'), 
    url(r'^register_success/$', views.register_success, name='register_success'), 
) 
+0

謝謝你解決了這個問題:) – bne

1

在您的網站/ urls.py

from django.contrib.auth import views as auth_views 
from django.contrib.auth import views 

當你的鱈魚e正嘗試訪問views.register_success您正嘗試訪問register_success裏面django.contrib.auth,因此錯誤。

當代碼嘗試訪問其他視圖時,您會得到相同的錯誤:它只是在錯誤的地方搜索!

只是糾正進口:

from reg import views 

編輯:即使它並不能解釋當前的問題的原因,Özgür的的答案提供了更好的做法,你應該看一下它,並按照他的建議。

+0

@ozgur我不好,你說得對。既然你沒有提到錯誤的導入,我沒有檢查它是否仍然從錯誤的地方調用視圖。 – vmonteco

+0

任何方式謝謝你的幫助:) – bne

相關問題