天天看點

python的django部落格系統_基于Django的部落格系統

基于django的部落格系統,

## 界面展示

首頁前端界面如下:

![](/contentImages/image/20181110/VnPSZT2TOzJmfc4xlBs.png)

文章頁面:![](/contentImages/image/20181110/wolfXnFJbIG88ssXRUq.png)

背景頁面:

![](/contentImages/image/20181110/yRU6nKVNs2pCF2l1ua3.png)

文章頁面:

![](/contentImages/image/20181110/wjk9bQH1UidOVEbHnKp.png)

##項目結構圖

>代碼主要檔案結構如下:

![](/contentImages/image/20181110/SPX2g9hbYRmx08PKF9q.png)

分别介紹下各個目錄:

- 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資料庫中執行:

```sql

CREATE DATABASE `djangoblog` ;

```

然後終端下執行:

./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`配置即可。

```python

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]')]`配置為你自己的錯誤接收郵箱,另外修改:

```python

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使用者登入的頭像路徑,填寫絕對路徑,預設是代碼目錄。

## 代碼高亮

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

![](https://resource.lylinux.net/image/codelang.png)

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

##其他補充

[django (Python Web 架構)說明][1]

[1]: https://baike.baidu.com/item/django/61531?fr=aladdin