1.命令
python -m venv 虚拟环境名
今日虚拟环境名的Scripts activte激活
pip freeze > requirements.txt 生成当前环境下所有的包
pip install -r requirements.txt 新环境安装这个包即可
1. 下载django
pip install django==1.11.25 -i 源
2. 创建django项目
django-admin.py startproject 项目名 创建项目
3. 启动项目
切换到项目目录下
python manage.py runserver # 127.0.0.1:8000
python manage.py runserver 80 # 127.0.0.1:80
python manage.py runserver 0.0.0.0::80 # 0.0.0.0::80
4. 创建app
python manage.py startapp app名称 创建app
5. 数据库迁移的命令
python manage.py makemigrations # 生成迁移命令
python manage.py migrate # 执行迁移命令
2.配置
1. 静态文件
STATIC_URL = '/static/' # 静态文件的别名
STATICFILES_DIRS = [ # 静态文件存放的路径
os.path.join(BASE_DIR ,'static')
]
2. 数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名称',
'HOST':' ip ',
'PORT':3306,
'USER':'用户名',
'PASSWORD':'密码',
}
}
3. 中间件
csrf (可以提交POST请求)
解决csrf,在form表单添加{% csrf_token %}
4. app
INSTALLED_APPS = [
'app名称'
‘app名称.apps.app名称Config’
]
5. 模板
TEMPLATES DIRS =[ os.path.join(BASE_DIR ,'templates')]
6.时区:注意USE_TZ本地开发设置为True,部署时再设置为False,原因参考use_tz链接
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False
USE_TZ 为什么是False,如果不是False,Django写入数据时间会比当前时间早8小时
use_tz相关链接
3.django使用mysql数据库流程
注意django只能帮助建表,数据库需要自己建立
如果使用本地的那么直接在命令行使用mysql命令建库,
如果使用云服务器建的mysql,则参考我写的这篇文章
https://www.cnblogs.com/flhw/p/13992859.html
1.创建一个mysql数据库
2.在settings里配置数据库连接信息
ENGINE mysql
NAME 数据库名称
HOST ip
PORT 端口号
USER 用户名
PASSWORD 密码
3.告诉django使用pymysql替换Mysqldb,在与settings同级目录下的init文件中写:
import pymysql
pymysql.install_as_MySQLdb()
4.在models中写类(继承models.Model)
from django.db import models
class Publisher(models.Model):
pid = models.AutoField(primary_key=True)
name = models.CharField(max_length=32, unique=True)
addr = models.CharField(max_length=32)
5.执行数据库迁移的命令
python manage.py makemigrations # 检测已经注册app下的models变更记录
python manage.py migrate # 将变更记录同步到数据库中