我正在学习一些Django,现在我在使用Forms时遇到了困难.我想要做的是创建一个表单,让人们在页面上留下消息,这些消息将显示在同一页面中(就像博客评论系统一样).我按照文档创建了一个类和ModelForm
class Recado(models.Model):
recado = models.TextField()
data = models.DateTimeField(auto_now_add=True)
nome = models.CharField(max_length=100)
email = models.EmailField(max_length=100)
def __unicode__(self):
return self.recado
class RecadoForm(ModelForm):
class Meta:
model = Recado
exclude = ('data',)
Run Code Online (Sandbox Code Playgroud)
那么这是我的看法:
def index(request):
RecadoForm = modelform_factory(Recado, exclude=('data'))
form = RecadoForm()
lista_recados = Recado.objects.order_by('-data')
template = loader.get_template('recados/index.html')
context = Context({'lista_recados': lista_recados,})
return render_to_response("recados/index.html", { "form": form,}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
和模板:
<div class="conteudo-site conteudo-recados">
<form method="post" action="salvar_recado">
{% csrf_token %}
{{ form.as_p }}
<br /><input class="button" type="submit" value="Deixar Recado" />
</form>
{% if lista_recados %} …Run Code Online (Sandbox Code Playgroud)