2016-04-28 23 views
1

私はログアプリケーションを持つプロジェクトを持っていました。私はそれを削除し、データベースを統合するために登録アプリケーションを実行しました。あなたがサインアップしていないと、サインインすることはできません.....しかし、私はDjangoプロジェクトを実行します。私はregアプリケーションで属性エラーを取得しましたが、解決方法はわかりませんでした。attributeerror: 'module'オブジェクトに '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

あなたは下のすべてのURLを追加する必要はありませんreg/urls.pysite/urls.pyに個別に入力してください。url(r'^reg/', include('reg.urls'))はすでに自動的に自動的に処理されます。ここで

sites/urls.pyで定義されたurlpatternsの修正版です:

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

サイト/ 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

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

あなたのタラあなたがdjango.contrib.authの中にregister_successにアクセスしようとしていますので、エラーが発生しました。

コードが他のビューにアクセスしようとすると、同じエラーが表示されます。間違った場所を検索するだけです。

ジャストインポートを修正:

from reg import views 

EDIT:それはあなたの現在の問題の原因を説明していない場合でも、ozgurの答えはあなたが本当にそれを見て、従わなければならない、より良いプラクティスを提供します彼のアドバイス。

+0

@ozgur私の悪い、あなたは正しいです。誤ったインポートについて言及していないので、間違った場所からビューがまだ呼び出されていないか確認しませんでした。 – vmonteco

+0

どうかありがとうございました。 – bne

関連する問題