1. 程式人生 > >基於Django的博客系統

基於Django的博客系統

char 前端界面 瀏覽器 環境 首頁 mtp unique migrate 框架

代碼地址如下:
http://www.demodashi.com/demo/14445.html

基於django的博客系統,

界面展示

首頁前端界面如下:
技術分享圖片
文章頁面:技術分享圖片
後臺頁面:
技術分享圖片
文章頁面:
技術分享圖片

項目結構圖

代碼主要文件結構如下:

技術分享圖片

分別介紹下各個目錄:

  • accounts: 用戶模塊
  • blog:博客模塊
  • comments: 評論模塊
  • oauth: 第三方登錄模塊
  • owntracks: owntracks位置追蹤模塊
  • servermanager: 服務管理模塊
  • templates: 頁面文件

主要功能:

  • 文章,頁面,分類目錄,標簽的添加,刪除,編輯等。文章及頁面支持Markdown,支持代碼高亮。
  • 支持文章全文搜索。
  • 完整的評論功能,包括發表回復評論,以及評論的郵件提醒,支持Markdown
  • 側邊欄功能,最新文章,最多閱讀,標簽雲等。
  • 支持Oauth登陸,現已有Google,GitHub,facebook,微博,QQ登錄。
  • 支持Memcache緩存,支持緩存自動刷新。
  • 簡單的SEO功能,新建文章等會自動通知Google和百度。
  • 集成了簡單的圖床功能。
  • 集成django-compressor,自動壓縮cssjs
  • 網站異常郵件提醒,若有未捕捉到的異常會自動發送提醒郵件。
  • 集成了微信公眾號功能,現在可以使用微信公眾號來管理你的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

windows電腦:
下載 http://peak.telecommunity.com/dist/ez_setup.py 和 https://raw.github.com/pypa/pip/master/contrib/get-pip.py 這兩個文件,雙擊運行。

初始化運行

修改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

瀏覽器打開: http://127.0.0.1:8000/ 就可以看到效果了。

主要功能配置介紹:

緩存:

緩存默認使用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 配置中新增配置,填寫對應的appkeyappsecret以及回調地址。

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用戶登錄的頭像路徑,填寫絕對路徑,默認是代碼目錄。

代碼高亮

如果你發現你文章的代碼沒有高亮,請這樣書寫代碼塊:

技術分享圖片

也就是說,需要在代碼塊開始位置加入這段代碼對應的語言。

其他補充

django (Python Web 框架)說明

代碼地址如下:
http://www.demodashi.com/demo/14445.html

註:本文著作權歸作者,由demo大師代發,拒絕轉載,轉載需要作者授權

基於Django的博客系統