2010-04-15 40 views
0

好吧,讓我先給你一個概述。我有這個網站,裏面有一個表格部分。當您訪問該部分時,您可以查看或啓動一個新項目。每個項目有3-5種不同的形式。Django問題 - 嘗試訪問輸入到表單中的數據並通過其他頁面輸入它

我的問題是,我不希望觀衆必須通過所有3-5頁來查看他們所需的相關信息。相反,我想爲每個項目提供一個主頁面,其中輸入到表單中的所有基本數據都顯示爲不可編輯的數據。我希望這是有道理的。

所以我需要找到一種方法來訪問每個項目的不同形式的所有數據,並將這些數據提供給我將稱爲「Main」的新頁面。每個項目都有一個獨立的主頁面。

我幾乎不知道該如何做,所以任何幫助都將不勝感激。

感謝

+2

是各自形成它自己的模型? – AlG 2010-04-15 20:13:58

回答

0

你可以嘗試this。在這之後,你可以:

如果你已經看到了這一切,然後:

首先,你應該爲你的主頁視圖。所以,如果你有一個應用程序my_appmy_app/views.py應該是這樣的:

def main_page_view(request, project_name): 
    # Your code here 
    pass 

然後,利用這一點,你會修改urls.py並添加類似:

(r'^projects/(?:<project_name>[a-zA-Z0-9]+)', 'my_app.views.main_page_view'), 

此外,你需要模型,這是在models.py創建,通過繼承django.models.Model

編輯:重新閱讀你的問題,我想你需要this

+0

謝謝你的回答。我已經爲我擁有的表格和功能製作了不同的表格/模型/視圖。我的問題是我希望輸入的數據顯示在不同的頁面上。因此,如果您填寫表單1,我希望該數據顯示在該項目的主頁上作爲不可編輯的數據。 換句話說,我需要以某種方式訪問​​數據庫並獲取每個項目的信息並通過主頁面輸出。我只是不知道如何。 – 2010-04-15 20:29:38

+0

提交表單,獲取數據,並重定向到下一個表單... – aviraldg 2010-04-15 22:34:03

0

數據可以從視圖傳遞到模板上下文

所以說,你創建一個摘要視圖...

def summary(request, *args, **kwargs):

在該視圖中您可以使用模型API查詢數據庫和查詢的結果傳遞到模板中進行渲染。我不知道你的模型是什麼樣子,但是說你有一個模型,有一個標題和所有者(如一個ForeignKey到用戶)...

class Project(models.Model): 
    title = models.CharField(max_length=250) 
    user = models.ForeignKey(User) 

模型會明顯不同。在你看來,你可以查詢所有屬於當前用戶的機型......

def summary(request, *args, **kwargs): 
    projects = Project.objects.filter(user=request.user) 

一旦你收集的是,你可以在查詢到模板渲染系統通過...

def summary(request, *args, **kwargs): 
    projects = Project.objects.filter(user=request.user) 
    render_to_response('project_summary.html', {'projects': projects }, ...) 

當您將查詢傳遞給模板時,您已將其命名爲projects。在模板中,你可以通過這個名稱來訪問它...

<body> 
    <table> 
    {% for project in projects %} 
     <tr><td>{{ project.title }}</td></tr> 
    {% endfor %} 
    </table> 
</body> 

(還要注意如何可以在模板中訪問模型的屬性也是如此。)

+0

謝謝。我會嘗試你的建議。我很想知道,因爲每個表單都會針對不同的項目進行多次實地展示,只會顯示該特定項目的數據,還是會一次顯示所有項目的數據?我正在尋找的是隻有該特定項目的數據才能顯示出來。 – 2010-04-15 20:53:17

+0

您可以通過調整查詢來控制顯示哪些數據。如果您還沒有閱讀完Django書籍,我強烈建議您這樣做。它只需要大約12-14個小時才能完成,這非常值得投資。 – 2010-04-15 22:20:35