python框架Django實戰商城專案之工程搭建
阿新 • • 發佈:2020-03-09
# 專案說明
該電商專案類似於京東商城,主要模組有驗證、使用者、第三方登入、首頁廣告、商品、購物車、訂單、支付以及後臺管理系統。
專案開發模式採用前後端不分離的模式,為了提高搜尋引擎排名,頁面整體重新整理採用jinja2模板引擎實現,區域性重新整理採用vue.js實現。
**專案執行機制如下:**
![file](https://img2020.cnblogs.com/other/1960827/202003/1960827-20200309144501212-1843119046.png)
# 專案搭建
## 工程建立
專案使用碼雲進行原始碼版本控制,在碼雲建立好後直接克隆到本地即可,然後在專案根目錄下執行` virtualenv venv創`建虛擬環境,`source venv/bin/activat`啟用虛擬環境後,安裝django後,執行
`django-admin startproject immortal_mall`建立django工程。
## 配置開發環境
商城專案有兩個環境,分別為測試環境和開發環境,django專案在建立完成後只有一個settings配置檔案,但是兩個環境需要兩個配置檔案,這裡需要修改django獲取配置檔案的方式。新建settings包,再新建dev和pro兩個配置檔案,將預設生成的settings檔案裡面的內容拷貝至dev和pro檔案裡,結果如下
![file](https://img2020.cnblogs.com/other/1960827/202003/1960827-20200309144501440-1101869292.png)
再在mange.py檔案裡指定開發環境需要的配置檔案,生成環境的後面再說
![file](https://img2020.cnblogs.com/other/1960827/202003/1960827-20200309144501588-519224221.png)
## 配置jiaja2模板引擎
安裝jinja2擴充套件包pip install jinja2,然後在dev檔案中配置一下
![file](https://img2020.cnblogs.com/other/1960827/202003/1960827-20200309144501856-1721664835.png)
這裡有個注意的點,如果在執行的時候報錯了,提示
![file](https://img2020.cnblogs.com/other/1960827/202003/1960827-20200309144502015-1979559336.png)
這時是因為註釋掉了django預設的模板配置,需要去掉註釋,只新增新的版本引起即可。
## 配置mysql資料庫
### 新建資料庫
1. 新建資料庫
`create database meiduo charset=utf8;`
2. 新建mysql使用者
`create user mall identified by '123456';`
3. 授權使用者只能訪問immortal_mall資料庫
`grant all on immortal_mall.* to 'mall'@'%';`
4. 重新整理授權
`flush privileges;`
### 配置資料庫
```
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'immortal_mall',
'HOST': '127.0.0.1',
'USER': 'zhouyajun',
'PASSWORD': '12345678',
'PORT': '3306'
}
}
```
django預設使用的是mysqlclient工具,需要單獨安裝,這裡用`pymysql`代替,在工程同名子目錄的`__init__.py`檔案中,寫入下面程式碼
```
import pymysql
pymysql.install_as_MySQLdb()
```
在啟動專案對的時候可能會報錯,提示mysql
```
File "/Users/lixiang/.env/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 36, in