Django專案之 簡單部落格開發

2021-09-24 15:21:18 字數 3632 閱讀 2739

部落格組成

型別備註

文字標題

文字型別

文章摘要

文字型別

文章內容

文字型別

唯一id標記

數值型別

自增、主鍵

發布日期

日期型別

1. 定義字段

-  編寫應用blog中的model.py
from django.db import models

# create your models here.

class

article

(models.model)

:# 唯一id標識

article_id = models.autofield(primary_key=

true

)# 文章標題\

article_title = models.textfield(

)# 文章摘要

article_content = models.textfield(

)# 文章內容

content = models.textfield(

)# 發布日期

publish_data = models.datetimefield(auto_now=

true

)

2.將模型遷移到資料庫為什麼要使用admin模組

怎麼使用

即從資料庫讀取資料,並在網頁上顯示

操作如下:

部落格頁面設計

bootstrap與bootstrap的格柵系統

實現靜態頁面

**** tips:pycharm 格式化**快捷鍵 ctrl + alt + l

上述的頁面為靜態頁面,寫死在html檔案中。不方便修改和維護。

為什麼需要模板

什麼是模板系統

基本語法

變數標籤:}

例子:< html>}< /body>< /html>

2.for迴圈標籤:  

,例子:

if-else分支標籤:

, , 

例子:this is a true part

this is a false part

修改之前靜態的html檔案

class

="container page-body"

>

class

="col-md-9"

role="

'main"

>

class

='body-main'

>

# article_list代表文章列表,需要被賦值

>

>

}h2>

>}p

>

div>

div>

div>

在視**件中,建立專門渲染該頁面的檢視函式,傳遞資料進行渲染

defget_index_page

(request)

: article_list= article.objects.

all(

)return render(request,

'blog/index.html'

,# 渲染-傳遞資料

)

部落格主頁和文章詳細頁面改動差異不大,但為了文章詳細頁面內容便於**,需要做分行處理,以換行符/n分行。

def

get_details_page

(request)

: curr_article=article.objects.

all()[

0]# 獲得當前文章

section_list = curr_article.content.split(

'\n'

)return render(request,

'blog/details.html'

,)

class

='body-main'

>

>

>}p

>

div>

div>

開發到此時,部落格專案情況:

因此,需要繼續進行改進

設計思路

設計文章詳情頁的url

- 使用位址轉化器傳遞數字

- path('detail/< int:article_id>',views.get_detail_page)

完善檢視函式的邏輯

首頁跳轉

修改頁面布局

完善檢視函式邏輯

- 使用了enumerate( )

它是python的內建函式,將乙個可遍歷的物件(列表、元組、字串等)

組合為乙個索引序列,同時列出資料和資料下標。

一般用於for迴圈中,可以同時得到資料物件的值和其對應的索引值。

語法: enumerate(《遍歷物件》,[索引起始值])

設計思路:

Django開發個人部落格專案 8 部落格歸檔

按照首頁建立的方法建立歸檔頁面,將archive.html從模板檔案中拷貝到templates目錄下,並繼承自base.html頁面,然後建立檢視函式,並通過url將兩者聯絡起來。archive.html 歸檔 content wrap view.py class arichiveview view...

使用django開發最簡單部落格程式

2 實驗平台 mandriva 2008 sqlite3 django1.0 4 建立project django admin.py startproject demo 5 修改demo settings.py檔案中的資料庫鏈結項 database engine sqlite3 database n...

Django部落格專案 1

1.把django admin.py檔案放在專案資料夾中,在cmd中使用下面命令 python django admin.py startproject blogproject2.cmd進入blogproject資料夾中。3.生成資料庫 python manage.py makemigrations...