2016-09-15 17 views
0

首先,我是django的新手,這是我的第一個項目,所以我有最低的知識。管理員如何發佈django 1.8中其他用戶可見的內容?

我正在與django 1.8合作,我已經創建了一個基本網站。 我的問題如下: 當您訪問一個網站並且內容由管理員更新時,您會知道該怎麼辦? (如果你是一個學生,新聞,日程安排或最後期限提醒) 有沒有辦法做到這一點,所以管理員只使用一個界面,而不接觸代碼?我的意思是,假設管理員對django一無所知,並且有一個網站,他想在其中上傳所有用戶都能看到的「新聞」或「公告」,或者他可以編輯/刪除舊帖子......

我會appreiate它,如果你可以指導我通過給予有用的鏈接doumentations,教程或github上的現有項目,看看它是如何工作的。 謝謝你的幫助。

+0

你有沒有試圖做基本的管理網站設置? https://docs.djangoproject.com/en/1.10/intro/tutorial02/#introducing-the-django-admin或https://docs.djangoproject.com/en/1.10/ref/contrib/admin/如果您確實通常管理員可以登錄到管理界面,例如http://127.0.0.1:8000/admin和編輯東西,不用編碼 – machaku

+0

我已經試過了,據我所知,管理界面允許管理員看到那些已經訂閱例如...這不是我想要的。假設127.0.0.1:8000允許我訪問主頁,我希望管理員能夠在主頁上發佈內容供其他用戶查看(在主頁上爲127.0.0.1:8000)。 –

+0

你的意思是一個內容管理系統嗎?我知道至少有兩個使用django:** w ** **和** django-cms **,但我沒有使用它們的經驗,更不用說設置它們了。 – nigel222

回答

0

您可以使用Django Admin以零編程的Web界面創建/編輯模型。

當然,爲了實現這個功能,您必須將可編輯內容保留在模型中,而不是在模板中對其進行硬編碼。

假設我們的網站是一個小博客,我們的職位有以下幾種模型的實例:

class Post(models.Model): 
    title = models.CharField(max_length=50) 
    content = models.TextField() 

而你像這樣在主頁上顯示它們:

<ul> 
{% for post in posts %} 
    <li> 
     <p>{{ post.content }}</p> 
    </li> 
{% endfor %} 
</ul> 

<app>/admin.py你需要註冊模型進入管理員,所以管理界面知道模型和顯示它:

from .models import Post # import your model 

admin.site.register(Post) 

現在您應該能夠從管理界面輕鬆創建和修改Post的實例,並且它們應自動顯示在主頁上。

我建議看看official Django tutorialDjango Girls blog tutorial,它們會詳細介紹如何使用管理員更新面向客戶的網頁上顯示的內容。

相關問題