python框架Django实战商城项目之工程搭建
测试轩 人气:1
# 项目说明
该电商项目类似于京东商城,主要模块有验证、用户、第三方登录、首页广告、商品、购物车、订单、支付以及后台管理系统。
项目开发模式采用前后端不分离的模式,为了提高搜索引擎排名,页面整体刷新采用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-packageshttps://img.qb5200.com/download-x/djangohttps://img.qb5200.com/download-x/db/backends/mysql/base.py", line 36, in
加载全部内容