我想学习如何将模板添加到我的模型表单我是新手。下面可以看到my 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
My views.py函数如下:
@login_required
def yazi_ekle(request):
yazim = YaziForm
return render_to_response('yazi/save.html', {'YaziForm': YaziForm})
我的url.conf如下所示:
(r'^yazi/save/$', 'tryout.yazi.views.yazi_ekle'),
我的问题是创建一个表单,表单“action”参数是什么?
在我看来,你的问题就在眼前,你应该这样做:
现在,在模板上下文中有一个名为YaziForm的变量。Django forms会自动返回一堆默认为小部件的表行,因此在文件yazi/save.html中,执行以下操作
这将自动将窗体呈现为表,尽管您必须在POST下添加窗体的逻辑。
实际上,您可以使用
<form action="">
,因为您要发布到的url与您所在的页面相同。如果你不喜欢,那么只要你在settings.py中的模板上下文处理器中有“django.core.context\u processors.request”,我想你也可以这样做:
一如既往,请参阅文档:)
http://docs.djangoproject.com/en/1.1/ref/request-response/#django.http.HttpRequest.path
编辑
以防,在这个问题发布后的中间一年,海报仍然没有尝试阅读模型文档。。。http://docs.djangoproject.com/en/1.2/topics/forms/modelforms/
是的,视图是错误的,您已经实例化了表单。您还需要一些逻辑来处理post数据。如果它是一个编辑视图,那么您可能还希望该视图在视图参数中获取一个项id,并具有一些逻辑来加载该模型实例。
例如:
然后在您的url.py中类似于:
在模板中:
相关问题 更多 >
编程相关推荐