1. 程式人生 > >python 搭建簡易部落格詳細教程

python 搭建簡易部落格詳細教程

最近想搞個個人主頁所以來學習下django,過程還是非常簡單的,耐心操作,其中的原理也大概能猜出來

1.下載django

sudo pip install django 用的是1.10.1,大於1.7都行

2.建立工程

在當前目錄下輸入
django-admin.py startproject blogsite

blogsite 為資料夾名字

3.設定管理介面

建立一個blog應用
在blogsite/ 下 輸入python manage.py startapp blog
在當前目錄下建立了 blog 應用
編輯 blogsite/blogsite/settings.py
在installed_apps 列表下 加入’blog’

加入blog app

4.設定資料庫

同樣編輯 blogsite/blogsite/settings.py,找到databases一欄
使用sqlite3時,無需更改配置. sqlite3 是內建的,直接終端輸入sqlite3 即可使用
使用其它資料庫時,我這裡是mysql,其它的差不多
配置為
‘ENGINE’:’django.db.backends.mysql’,
‘NAME’:’blog’, #這裡是使用的資料庫的名稱,需要在資料庫中先建立一個blog資料庫
‘USER’:’root’ #這裡是登陸mysql 的使用者名稱稱,不存在的話會連線不上資料庫
‘PASSWORD’:’123456’ #登陸mysql的密碼
‘HOST’:”, #伺服器不在本機上時需要配置
‘PORT’:”, #連線的埠號,可以不設定

同步資料庫
在blogsite/blogsite 下 輸入 python manage.py migrate 則會在資料庫中自動建立表格
繼續輸入 python manage.py createsuperuser 建立admin 使用者
輸入賬號,郵箱,密碼
之後在資料庫 表中也能看到資訊

5.繫結admin url

在blogsite/blogsite/urls.py 下已經設定好了 可以看到 urlpatterns=[url(r’^admin/’,admin.site.urls),]
在blogsite/blog/models.py 下
建立一個 BlogPost類 繼承models
title 是標題,body 是部落格內容,timestamp是時間戳 class Meta:
先 import admin : from django.db import models
class BlogPost(models.Model):
title=models.CharField(max_length=150)
body=models.TextField()
timestamp=models.DateTimeField()
最後新增一行
admin.site.register(BlogPost) 將模型載入到 admin/ 站點
BlogPost


在blogsite/ 下 輸入
python manage.py runserver
網頁上輸入 http://127.0.0.1:8000/admin 可以看到登陸介面,輸入開始設定的超級使用者的賬號
blog
在blog 加入 blogpost 之前,還需要在資料庫中新增 blog_blogpost 表格,可以手動新增,也可以
在 /blogsite/ 資料夾下 輸入 python manage.py makemigrations
python manage.py migrate 實際就是為blogpost 模版建一個表格
之後就可以在blogpost新增文章了。
6.建立公共版塊
前面建立了/admin 網站連結,現在建立一個 /blog連結
在blogsite/blogsite/urls.py 中 加入 blog.urls,記得先import include
這裡寫圖片描述
可想而知 下一步應該在blogsite/blog 下建立一個urls.py,這樣就能連結到blog下的url
這個urls.py 連結到一個檢視(檢視是資料庫和使用者之間的對映)
定義網頁的顯示
在blogsite/blog 下建立一個template 資料夾 儲存顯示的網頁
建立一個 archive.html 和 base.html ,也可以放一塊寫
archive
base
然後在/blogsite/blog/view.py 下 建立檢視連結
這裡寫圖片描述
posts 獲取資料庫物件,t 獲取網頁模版,c 將網頁中的’post’ 與posts對映。
最後在blogsite/blog/ 下建立urls.py,建立url與檢視的連結。
這裡寫圖片描述
輸入 http://127.0.0.1:8000/blog 就可以看到部落格了
這裡寫圖片描述
接下來再繼續寫怎麼進一步構建和優化