目标:创建一个问题,在该问题中,用户创建一个“疯狂的libs”样式的民意测验问题。“如果_(text)__不和_(text)_?").约会,你会和她鬼混吗?”
代码:该文件创建一个django表单,该表单对应于appengine实体。
from django import newforms as forms
import models
from google.appengine.ext.db import djangoforms
class PollForm(djangoforms.ModelForm):
class Meta:
model = models.Poll这是models.py文件的摘录
from google.appengine.ext import db
from django import newforms as forms
class Poll(db.Model):
question = db.StringProperty()
created_on = db.DateTimeProperty(auto_now_add = 1)
created_by = db.UserProperty()
def __str__(self):
return '%s' %self.question
def get_absolute_url(self):
return '/poll/%s/' % self.key()以下是本节的html
<form action="." method="post">
{{pollform.as_p}}
{% for form in choiceforms %}
{{form.as_p}}
{% endfor %}
<input type="submit" name="createpoll" value="createpoll" />
</form>有没有一种非常简单的方法,用一些预先编码的文本和一些输入文本来创建这样的问题?我可以在HTML中对其进行重新编码吗?
任何方向都是非常感谢的!
发布于 2011-05-08 13:31:02
我还是不完全理解你的问题。如果您发布了完整的源代码和您试图获得的结果的示例,那么您将得到更好的响应。
下面是一个为某人回答问题而构造表单的示例。我对这个问题进行了硬编码,但您可以很容易地动态地检索到它。
class Answer(models.Model):
answer1 = models.CharField(max_length=100)
answer2 = models.CharField(max_length=100)
class AnswerForm(forms.ModelForm):
class Meta:
model = Answer
def test(request):
if request.method == 'GET':
form = AnswerForm()
question_template = 'Would you fool around with %s if she wasn\'t dating %s?'
html = question_template % (form['answer1'], form['answer2'])
params = {'form': form,
'html': html}
return render_to_response('test.html',
params,
context_instance=RequestContext(request))模板:
<form method="post" action="">
{% csrf_token %}
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
{{ html|safe }}
<input type="submit" value="Save"/>
</form>https://stackoverflow.com/questions/5905645
复制相似问题