你好,提前谢谢你。我有一个django表单,它不是在模板上呈现的。“提交”按钮呈现,但表单没有。我已经盯着这段代码看了大约6个小时,它可能是非常简单的东西,我可能需要另一双眼睛看它。
我的模型:
#models.py
from django.db import models
from django.forms import ModelForm
class DraftInput(models.Model):
player_id = models.IntegerField(help_text = 'Input Player ID Number', max_length = 5)
def __unicode__(self):
return self.player_id
class DraftForm(ModelForm):
class Meta:
model = DraftInput
我的观点:
#views.py
from django.shortcuts import render_to_response
from simple.models import DraftInput
from simple.models import DraftForm
from django.template import RequestContext
#...
def draft_view(request):
if request.method == 'POST':
form = DraftForm(request.POST)
if form.is_valid():
form.save()
else:
form = DraftForm()
return render_to_response('simple/draft_input.html', {'form': form} )
我的模板:
#draft_input.html
#...
<h1>Draft Input</h1>
<h2>Draft</h2><br /><br />
<form method="POST" action="">
<table>{{ form }}</table>
<input type="submit" value="Draft Player" />
</form><br /><br />
#...
谢谢你的帮助。
读了答案,你似乎还是运气不好。
尝试在django交互式shell(
python manage.py shell
)中执行这些命令。当您试图格式化表单时,可能会引发异常。当在模板中的表单生成过程中抛出异常时,您在HTML中看不到太多;但是django shell通常会揭示罪魁祸首。您可以在这里看到生成的HTML,也可以捕获异常。这将告诉你更多你需要解决的问题。
我认为转移到泛型类是一个标志:)只需尝试CreateView类
在views.py文件中:
简单创建模板:
以及非常URL中的简单记录列表.py:
使用
{{ form.as_table }}
或从表单标记周围移除<table></table>
。相关问题 更多 >
编程相关推荐