2011-05-06 59 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>