2011-05-06 61 views
3

目标:创建一个用户创建一个“mad-libs”样式的投票问题的问题(例如,“你会用_ (文本) __如果她没有约会_ (正文) _?“)。通过Google App Engine以django形式输入多个文本

代码:该文件创建一个与appengine实体相对应的django表单。

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() 

这里的摘录本节

<form action="." method="post"> 

{{pollform.as_p}} 

{% for form in choiceforms %} 
    {{form.as_p}} 
{% endfor %} 

<input type="submit" name="createpoll" value="createpoll" /> 
</form> 

的HTML是有创造这样的问题相当简单的方法与一些预先编码的文本和一些输入文本?我可以在HTML中对它进行编码吗?

任何方向非常感谢!

+0

我明白你想建立什么,但不是问题“是否有创建具有不同的文本输入转换成字符串一个问题一个相当简单的方法” - 不同于什么?你是什​​么意思'串入'? – 2011-05-06 17:33:48

+0

我想我只是问这个问题,因为那是我选择存储问题数据的方式。但我同意,它读得不好!我改变了这个问题,希望能够反映我想问的问题。我非常感谢你的时间!欢呼 – 2011-05-06 19:02:50

+0

问题是静态还是动态?它会总是有两个空格还是这个变量? – cope360 2011-05-07 13:42:59

回答

0

我还是不完全明白你的问题。如果您发布了完整的源代码以及您尝试获得的结果示例,那么您将得到更好的回复。

下面是为某人回答问题而构建表单的示例。我硬编码的问题,但你可以很容易地动态检索。

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>