基於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
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 配置中新增配置,填寫對應的appkey
和appsecret
以及回調地址。
owntracks:
owntracks是一個位置追蹤軟件,可以定時的將你的坐標提交到你的服務器上,現在簡單的支持owntracks功能,需要安裝owntracks的app,然后將api地址設置為:
你的域名/owntracks/logtracks
就可以了。然后訪問你的域名/owntracks/show_dates
就可以看到有經緯度記錄的日期,點擊之后就可以看到運動軌跡了。地圖是使用高德地圖繪制。
郵件功能:
同樣,將settings.py
中的ADMINS = [('liangliang', 'liangliangyy@gmail.com')]
配置為你自己的錯誤接收郵箱,另外修改:
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大師代發,拒絕轉載,轉載需要作者授權