我似乎无法在我的模板中加载模型表单。
模型.py
from django.db import models
class Event(models.Model):
name = models.CharField(max_length=60)
start_datetime = models.DateTimeField()
end_datetime = models.DateTimeField()
description = models.TextField()
表单.py
from django import forms
from .models import Event
class EventForm(forms.ModelForm):
class Meta:
model = Event
fields = ['name']
View .py
from django.shortcuts import render
from .forms import EventForm
def index(request):
if request.method == 'POST':
form = EventForm(request.POST)
if form.is_valid():
form.save()
else:
form = EventForm()
return render(request, 'index.html')
index.html
<form method="POST" action="">
{% csrf_token %}
{{ form.as_p }}
</form>
<button type="submit">Save</button>
当在 GET 请求的views.py 中添加 print(form) 时,我可以让表单在加载时打印到控制台,但它不会加载到模板中。
最佳答案
关于使用表单的不同方式的好例子:https://docs.djangoproject.com/en/1.11/topics/forms/#the-view
要渲染的 index.html
需要 form
变量。所以Render方法调用应该是这样的:
render(request, 'index.html', {'form': form})
关于python - Django 表单字段未加载到模板中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45784462/