前言
学习python之django框架, 算是初次接触python框架,特写篇笔记来记录学习的重要点,以及疑问点,方便后续学习查看
安装导出源
pip install -i https://pypi.doubanio.com/simple/ Django
-i pypi.doubanio.com/simple/ # -i指定使用源 (-i == --index-url)
导出依赖
pip freeze > requirements.txt
安装依赖
pip install -r requriements.txt
pip install -i https://pypi.doubanio.com/simple/ -r requirements.txt (豆瓣源安装)
虚拟环境
安装虚拟环境
pip install virtualenvwrapper-win
创建虚拟环境
mkvirtualenv myproject
进入虚拟环境
workon myproject
安装django
通过pip安装
pip install Django
验证
若要验证 Django 是否能被 Python 识别,可以在 shell 中输入 python。 然后在 Python 提示符下
import django; print(django.get_version())
或者
python -m django --version
新建项目
创建项目
在需要创建项目的文件夹下
django-admin startproject mysite
启动简易服务器
用于本地开发环境django的简易服务器,默认端口是8000,你也可自定义端口,启动成功后会出现django欢迎页面
python manage.py runserver 8000
创建应用
python manage.py startapp polls
django的项目与应用关系
应用是专门做某件事的应用程序--比如博客系统,项目是一个网站使用的配置和应用的集合。项目可以包含很多应用,应用可以被很多个项目使用
初始化应用数据库表
- 安装python连接mysql库
pip install mysqlclient - 在不同环境下先确保激活模型
python manage.py makemigrations polls - )模型导入数据库(相当于创建表)
python manage.py migrate
设计模型
初始化数据
python manage.py loaddata ./apps/user/user.json
[
{
"model": "user.Group",
"pk": 1,
"fields": {
"group_type": "超级管理员",
"sort_time": "2019-10-24 00:00:00",
"created": "2019-10-24 00:00:00",
"updated": "2019-10-24 00:00:00"
}
},
{
"model": "user.User",
"pk": 1,
"fields": {
"username": "webchenhan@163.com",
"password": "123456",
"group": 1,
"is_superuser": "1",
"is_admin": "1",
"sort_time": "2019-10-24 00:00:00",
"created": "2019-10-24 00:00:00",
"updated": "2019-10-24 00:00:00"
}
}
]
django项目部署,迁移
再部署后我们需要达到的效果是,
- django项目有独立运行的虚拟环境
- 项目后台运行,xshell关闭项目继续运行
- 能从外网访问接口请求数据
环境准备
django项目配置的修改,打开settings.py文件,找到DEBUG和ALLWE_HOSTS,将他们设置如下值
settings.py
DEBUG = False
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
导出项目所需的依赖,在manange.py同级目录下
pip freeze > requirements.txt
在我们的服务上新增目录结构,我是放在
/root/sites/
web.com/
env/
MxShop/
进入web.com文件夹下,我们来创建虚拟环境,并且检查是否安装成功,如没有安装virtualenv,先安装 pip3 install virtualenv
virtualenv --python=python3 env
ls
env
进入虚拟环境
env/bin/activate
进入web.com文件夹下,把我们的django源码上传至此文件夹下,安装依赖
cd MxShop
pip install -r requirements.txt
生成数据库
python manage.py migrate
在manage.py同级目录下新建start.sh stop.sh文件用于后台启动和关闭项目,避免关闭xshell项目服务就关闭
start.sh内容如下
ps -aux | grep python3|xargs kill -9
nohup python3 manage.py runserver 0.0.0.0:8000 >>log_app.out>&1 &
stop.sh内容如下
ps -aux | grep python3|xargs kill -9
执行start.sh文件启动项目
start.sh
配置nginx,由于项目只用与谢接口api,所以配置如下:
location /api/ {
proxy_pass http://127.0.0.1:8000;
}
location /admin/ {
proxy_pass http://127.0.0.1:8000;
}
至此简单项目部署完成