1
ModelForm
을 장고 앱의 홈 페이지에 표시하는 템플릿을 추가하려고합니다. 정적이 아니기 때문에 홈 페이지의 home
이라는 프로젝트에 별도의 앱을 만들었지 만 현재 사용중인 템플릿은 현재 내 프로젝트에서 사용하는 기본 템플릿 디렉토리에 있습니다.Django : TemplateDoesNotExist at/home/
내 서버를 실행하고/홈으로 이동하려고, 나는 다음과 같은 오류가 발생합니다 :
TemplateDoesNotExist at /home/
{'form': <ActionCodeForm bound=False, valid=Unknown, fields=(action_code)>}
Request Method: GET
Request URL: http://127.0.0.1:8300/home/
Django Version: 1.9.7
Exception Type: TemplateDoesNotExist
Exception Value:
{'form': <ActionCodeForm bound=False, valid=Unknown, fields=(action_code)>}
어떻게이 오류를 수정합니까? 나는 TemplateDoesNotExist 오류에 대한 다른 답변을보고 시도했는데 'DIRS'
설정과 관련이 있다는 것을 알았지 만 내 설정이 제대로되어있는 것 같아서 오류의 원인을 모르겠습니다. 여기
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
템플릿 (
action_code_form.html
)입니다 : 여기
내
settings.py
의 템플릿 섹션
from home.forms import ActionCodeForm
def action_code_form(request):
form = ActionCodeForm()
if request.method == 'POST':
form = ActionCodeForm(request.POST)
if form.is_valid():
action_code = form.cleaned_data['action_code']
form.save()
return render('action_code_form.html', {'form': form})
집 : 여기
<form method="post" action="">
{% csrf_token %}
<table>
{{ form }}
</table>
<input type="submit" value="Submit"/>
</form>
홈/views.py입니다 /models.py :
,class ActionCode(models.Model):
action_code = models.CharField(blank=False, max_length=10,
verbose_name="Action Code")
홈/forms.py :
from home.models import ActionCode
class ActionCodeForm(ModelForm):
class Meta:
model = ActionCode
fields = ('action_code',)