2017-11-12 13 views
0

私はDjangoでナビゲーションを設定しようとしていますが、ナビゲートしようとするたびに再び同じページに戻ります。 助けてください、任意のアドバイスをいただければ幸いです。ありがとうございました!Djangoは同じページをレンダリングし続けます

# -*- coding: utf-8 -*- 
from __future__ import unicode_literals 

from django.shortcuts import render 

from django.contrib.auth import login, authenticate 
from django.contrib.auth.forms import UserCreationForm 
from django.shortcuts import render, redirect 
#from django.contrib.auth import views as auth_views 

#from . import views 
# Create your views here. 

def login(request): 
    return render(request, 'login.html') 

def signup(request): 
    if request.method == 'POST': 
     form = UserCreationForm(request.POST) 
     if form.is_valid(): 
      form.save() 
      #username = form.cleaned_data.get('username') 
      #raw_password = form.cleaned_data.get('password1') 
      #user = authenticate(username=username, password=raw_password) 
      #login(request, user) 
      return redirect('/templates') 
     else: 
      form = UserCreationForm() 
     return render(request, 'templates/signup_form.html', {'form': form}) 

views.pyは、プロジェクト内のファイルは

from django.conf.urls import url 
from django.contrib.auth.views import login 
from . import views 
# 
urlpatterns = [ 
    url(r'^', views.login, name=''), 
    url(r'^login/', login, {'template_name': 'templates/login.html'}), 
    url(r'^signup/', views.signup, name = 'signup') 




    #url(r'^login/$', index,{{'template_name': 'templates/index.html' }}) 
] 
+0

'URL(R '^'、views.login、名前= '')]リスト

urlpatterns = [ url(r'^login/', login, {'template_name': 'templates/login.html'}), url(r'^signup/', views.signup, name = 'signup') url(r'^', views.login, name=''),}}) 

の下部にその行を入れてみてください、'これはあなたの問題かもしれません。 '^'は行の始めにマッチし、すべての文字列は先頭にあるので、この式はすべての文字列にマッチします。おそらくあなたは '^ $'を意味していたでしょうか?つまり、空の文字列ですか? –

答えて

1

パターンが一致しているからURL urls.pyアプリのウェブサイトでurls.py

from django.conf.urls import url, include 
from django.contrib import admin 

urlpatterns = [ 
    url(r'^login/', include('website.urls')), 
    url(r'^signup/', include('website.urls')), 
    url(r'^admin/', admin.site.urls), 

] 

と呼ばれます上から下へ。あなたの最初のurlパターンは見るものと一致しているので、djangoはすべての要求をviews.loginに送信します。

+0

まだサインアップページに切り替わっていません – coder666

+0

'login'ビューは' login.html'を参照し、サインアップビューは 'templates/signup_form.html'を参照します。 'templates /'という接頭辞が付いていて、もう一つは 'template /'接頭辞を持たないので、テンプレートディレクトリがどのように設定されているかを確認する必要があるかもしれません。失敗した 'login'ビューであれば、テンプレート接頭辞を追加してください。そうでない場合は、' TEMPLATES'設定を以下のドキュメンテーションと比較してください。[link](https://docs.djangoproject.com/ja/1.11/ref/)設定/#テンプレート) –

関連する問題