2017-01-20 1 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) 

내가 TEMPLATE_NAME을 정의 할 경우, 파일 나는 그것을 작성하고 어떻게해야합니까? 시스템 로그인 페이지와 등록 페이지를 만드는 데 차이가 있습니까?

답변

1

고유 한 기능 기반보기를 사용할 때 template_name을 지정할 필요가 없으므로 등록 URL에서 {'template_name': 'registration/accounts/regist.html'} 비트 만 제거하면됩니다.

관련 문제