2013-07-26 137 views
1

我正在嘗試創建一個網頁,您可以將問題上傳到Questions數據庫。我想知道是否有任何簡單的方法在Django中做到這一點?我可以上傳它,以便可以從Django管理員訪問嗎?這是我的。從模板上傳到Django數據庫

#Models 
class Question(models.Model): 
question = models.CharField(max_length=400) 
answer = models.CharField(max_length=400) 
def __unicode__(self): 
    return self.question + "?" 

class QuestionForm(ModelForm): 
    class Meta: 
     model = Question 
     fields = ['question', 'answer'] 

#Question Template 
<div class="container" align="center"> 
    <div class="hero-unit3" align="center"> 
     <h3> 
     Feel free to post some questions, and a DarKnight representative will answer them for you. 
     </h3> 
    </div> 
    </div> 
</div> 
<div class="row"> 
    <div class="span6"> 
    <h4> 
     <form action="<!-- NO IDEA WHAT TO DO -->" method="post"> 
     <input type="text" name="question" /> 
    </div> 
</div> 
</div> 

#views.py 
class question(generic.ListView): 
    template_name = 'users/question.html' 
    context_object_name = 'Question_list' 
    def get_queryset(self): 
     return Question.objects.order_by('question') 
+0

你的視角在哪裏? –

+0

@HieuNguyen加了我的看法 – pepper5319

回答

1

最簡單的方式來實現你需要的是用CreateView使用它的模板。

在views.py:

from django.views.generic.edit import CreateView 
from yourapp.models import Question 

class QuestionCreate(CreateView): 
    model = Question 
    fields = ['question', 'answer'] 

創建一個新的模板名稱question_form.html

<form action="" method="post">{% csrf_token %} 
    {{ form.as_p }} 
    <input type="submit" value="Create" /> 
</form> 

希望它能幫助!

+0

謝謝!完全按照我的需要提供幫助。 – pepper5319

0

爲了可以在Django管理模型你必須

from django.contrib import admin 

class Question(models.Model): 
... 

admin.site.register(Question) 

註冊模式管理也從自定義模板這樣做,你可以使用一個model form

形式可在模板中以表格或段落形式顯示。

假設您呈現的形式向模板f,如下

<form action='..' method='post'> 
{{ f.as_t }} //or f.as_p for paragraph 
</form> 
+0

這個幫了忙。我已經知道如何在管理員中使用它。但是有沒有一種簡單的方法可以讓我可以在數據庫中輸入任何內容?另外,是否有一種更簡單的方法來創建一個'模板表單'並將其導入到我的問題模板中? – pepper5319

相關問題