【发布时间】:2019-02-23 07:08:28
【问题描述】:
在 django 中创建绑定到模型的表单时,它根本不渲染。
我有以下型号:
class Recipe(models.Model):
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(
default=timezone.now)
url = models.TextField(validators=[URLValidator()], blank = True)
photo = models.ImageField(upload_to='photos', blank = True)
def publish(self):
self.created_date = timezone.now()
self.save()
def __str__(self):
return self.title
形式:
class RecipeForm(forms.ModelForm):
class Meta:
model = Recipe
fields = ['title', 'text']
观点:
def recipe_new(request):
form = RecipeForm()
return render(request, 'recipe_edit.html', {'form:': form})
模板:
{% extends 'base.html' %}
{% block content %}
<h1>New recipe</h1>
<form method="post" class="recipe-form">{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="save btn btn-default">Save</button>
</form>
{% endblock %}
但仅呈现标题“新配方”和“保存”按钮。如果我尝试在终端中打印表单变量,它会正确打印出来。但是,对请求的响应始终没有输入字段(无论我使用 form.as_p 还是仅使用表单)。是我错误地将表单传递给模板还是表单本身有误?
【问题讨论】:
标签: django django-models django-forms