dr.*_*nux 4 python django templates django-forms
我想学习如何将模板添加到我的ModelForm我是新手.您可以在下面看到我的models.py,url.py和views.py:
我的model.py看起来像这样:
from django.db import models
from django.forms import ModelForm
from django.contrib.auth.models import User
class Yazilar(models.Model):
yazi = models.CharField(max_length=200)
temsilci = models.ForeignKey(User)
class YaziForm(ModelForm):
class Meta:
model = Yazilar
Run Code Online (Sandbox Code Playgroud)
我的views.py函数如下:
@login_required
def yazi_ekle(request):
yazim = YaziForm
return render_to_response('yazi/save.html', {'YaziForm': YaziForm})
Run Code Online (Sandbox Code Playgroud)
我的url.conf如下所示:
(r'^yazi/save/$', 'tryout.yazi.views.yazi_ekle'),
Run Code Online (Sandbox Code Playgroud)
我的问题是关于创建表单以及形成"action"参数的内容是什么?
Jj.*_*Jj. 11
在我看来,你的问题是在视图中,你应该做这样的事情:
@login_required
def yazi_ekle(request):
yazim = YaziForm() # Look at the (), they are needed for instantiation
return render_to_response('yazi/save.html', {'YaziForm': yazim}) # Sending the form instance to the context, not the form class
Run Code Online (Sandbox Code Playgroud)
现在,您在模板上下文中有一个名为YaziForm的变量.Django默认将小部件表格自动装配到一堆表行,所以在你的文件yazi/save.html中,这样做
<form method="post" action="">
{% csrf_token %}
<table>
{{YaziForm}}
</table>
<input type="submit" value="Submit Form"/>
</form>
Run Code Online (Sandbox Code Playgroud)
这将自动将表单呈现为表格,但您必须在POST下添加表单的逻辑.
| 归档时间: |
|
| 查看次数: |
14566 次 |
| 最近记录: |