基於Django的部落格系統
基於django的部落格系統,
介面展示
首頁前端介面如下:
文章頁面:
後臺頁面:
文章頁面:
##專案結構圖
程式碼主要檔案結構如下:
分別介紹下各個目錄:
- accounts: 使用者模組
- blog:部落格模組
- comments: 評論模組
- oauth: 第三方登入模組
- owntracks: owntracks位置追蹤模組
- servermanager: 服務管理模組
- templates: 頁面檔案
主要功能:
- 文章,頁面,分類目錄,標籤的新增,刪除,編輯等。文章及頁面支援
Markdown
,支援程式碼高亮。 - 支援文章全文搜尋。
- 完整的評論功能,包括髮表回覆評論,以及評論的郵件提醒,支援
Markdown
- 側邊欄功能,最新文章,最多閱讀,標籤雲等。
- 支援Oauth登陸,現已有Google,GitHub,facebook,微博,QQ登入。
- 支援
Memcache
快取,支援快取自動重新整理。 - 簡單的SEO功能,新建文章等會自動通知Google和百度。
- 集成了簡單的圖床功能。
- 整合
django-compressor
,自動壓縮css
,js
。 - 網站異常郵件提醒,若有未捕捉到的異常會自動傳送提醒郵件。
- 集成了微信公眾號功能,現在可以使用微信公眾號來管理你的vps了。
安裝
使用pip安裝:
pip install -Ur requirements.txt
如果你沒有pip,使用如下方式安裝:
OS X / Linux 電腦,終端下執行:
curl http://peak.telecommunity.com/dist/ez_setup.py | python
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
初始化執行
修改DjangoBlog/setting.py
修改資料庫配置,如下所示:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'djangoblog', 'USER': 'root', 'PASSWORD': 'password', 'HOST': 'host', 'PORT': 3306, } }
建立資料庫
mysql資料庫中執行:
CREATE DATABASE `djangoblog` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;
然後終端下執行:
./manage.py makemigrations
./manage.py migrate
建立超級使用者
終端下執行:
./manage.py createsuperuser
建立測試資料
終端下執行:
./manage.py create_testdata
收集靜態檔案
終端下執行:
./manage.py collectstatic --noinput
./manage.py compress --force
開始執行:
執行:
./manage.py runserver
主要功能配置介紹:
快取:
快取預設使用memcache
快取,如果你沒有memcache
環境,則將settings.py
中的locmemcache
改為default
,並刪除預設的default
配置即可。
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
'KEY_PREFIX': 'django_test' if TESTING else 'djangoblog',
'TIMEOUT': 60 * 60 * 10
},
'locmemcache': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 10800,
'LOCATION': 'unique-snowflake',
}
}
oauth登入:
現在已經支援微博,Google,GitHub,Facebook登入,需要在其對應的開放平臺申請oauth登入許可權,然後在
後臺->Oauth 配置中新增配置,填寫對應的appkey
和appsecret
以及回撥地址。
owntracks:
owntracks是一個位置追蹤軟體,可以定時的將你的座標提交到你的伺服器上,現在簡單的支援owntracks功能,需要安裝owntracks的app,然後將api地址設定為:
你的域名/owntracks/logtracks
就可以了。然後訪問你的域名/owntracks/show_dates
就可以看到有經緯度記錄的日期,點選之後就可以看到運動軌跡了。地圖是使用高德地圖繪製。
郵件功能:
同樣,將settings.py
中的ADMINS = [('liangliang', '[email protected]')]
配置為你自己的錯誤接收郵箱,另外修改:
EMAIL_HOST = 'smtp.zoho.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = os.environ.get('DJANGO_EMAIL_USER')
EMAIL_HOST_PASSWORD = os.environ.get('DJANGO_EMAIL_PASSWORD')
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = os.environ.get('DJANGO_EMAIL_USER')
為你自己的郵箱配置。
微信公眾號
集成了簡單的微信公眾號功能,在微信後臺將token地址設定為:你的域名/robot
即可,預設token為lylinux
,當然你可以修改為你自己的,在servermanager/robot.py
中。
然後在後臺->Servermanager->命令中新增命令,這樣就可以使用微信公眾號來管理了。
網站配置介紹
在後臺->BLOG->網站配置中,可以新增網站配置,比如關鍵字,描述等,以及谷歌廣告,網站統計程式碼及備案號等等。
其中的靜態檔案儲存地址是儲存oauth使用者登入的頭像路徑,填寫絕對路徑,預設是程式碼目錄。
程式碼高亮
如果你發現你文章的程式碼沒有高亮,請這樣書寫程式碼塊:
也就是說,需要在程式碼塊開始位置加入這段程式碼對應的語言。
注:本文著作權歸作者,由demo大師發表,拒絕轉載,轉載需要作者授權