python - Django ModelForm 模板?

标签 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

我的 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 ”参数是什么?

最佳答案

在我看来,您的问题出在 View 中,您应该这样做:

@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

现在,您的模板上下文中有一个名为 YaziForm 的变量。 Django 将表单自动渲染到一堆表格行,默认使用小部件,因此在您的文件 yazi/save.html 中,执行此操作
<form method="post" action="">
{% csrf_token %}
<table>
{{YaziForm}}
</table>
<input type="submit" value="Submit Form"/>
</form>

这将自动将您的表单呈现为表格,但您必须在 POST 下添加表单的逻辑。

关于python - Django ModelForm 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2281295/

相关文章:

python - Django 不允许我保存 User 对象

python - 如何提高 django 中软删除的性能?

c++ - 有什么方法可以解决模板类中的前向声明?

python - apache mod_wsgi 中的 Web2py 和 virtualenv

python - 使用 Panda 的 .at 函数修改多行

django - timezone.now().date 是函数还是可调用的?

c++ - 编译时的模板和 constexpr 推导取决于编译器和优化标志

python - Django 社交授权

python - 我可以在没有 POST 的情况下在 python 中实现 Web 用户身份验证系统吗?

javascript - EJS 模板 .render() 返回函数而不是 HTML