2017-01-20 6 views
-2

/accounts/regist/ でTypeErrorが発生しました。予期しないキーワード引数 'template_name'があります。 ファイルに変数がないことがわかります。 ですが、ログイン時にはtemplate_nameファイルは使用できません。 それで、私はそれを修正する方法を知ることができません。regist()は予期しないキーワード引数 'template_name'を持っています

は私が

from django.conf.urls import url 
from . import views 
from django.contrib.auth.views import login, logout 

urlpatterns = [ 
    url(r'^login/$', login, 
     {'template_name': 'registration/accounts/login.html'}, 
     name='login'), 
    url(r'^logout/$', logout, name='logout'), 
    url(r'^regist/$', views.regist, 
     {'template_name': 'registration/accounts/regist.html'}, 
     name='regist'), 
    url(r'^regist_save/$', views.regist_save, name='regist_save'), 
] 

で、アカウントのurls.pyに書いたviews.py

from django.contrib.auth.forms import AuthenticationForm 
from django.contrib.auth.decorators import login_required 
from django.http import HttpResponse 
from django.shortcuts import render, redirect 
from django.views.decorators.http import require_POST 
from .forms import RegisterForm 



def index(request): 
    context = { 
     'user': request.user, 
    } 
    return render(request, 'accounts/index.html', context) 


@login_required 
def profile(request): 
    context = { 
     'user': request.user, 
    } 
    return render(request, 'accounts/profile.html', context) 


def regist(request): 
    form = RegisterForm(request.POST or None) 
    context = { 
     'form': form, 
    } 
    return render(request, 'accounts/regist.html', context) 


@require_POST 
def regist_save(request): 
    form = RegisterForm(request.POST) 
    if form.is_valid(): 
     form.save() 
     return redirect('main:index') 

    context = { 
     'form': form, 
    } 
    return render(request, 'accounts/regist.html', context) 

私はテンプレート名を定義する必要がある場合、ファイル私はそれを書いて、どのようにすべき? システムのログインページと登録ページを作成するのに違いはありますか?

答えて

1

独自のファンクションベースのビューを使用しているときにtemplate_nameを指定する必要はないため、登録URLから{'template_name': 'registration/accounts/regist.html'}ビットを削除してください。

関連する問題