django
1. 创建项目
django-admin startproject mysite
2. 创建应用
cd mysite
python manage.py startapp message_form [apps/message_form]
#或
django-admin startapp message_form [apps/message_form]
# mysite/setting.py 添加
################ 应用的静态文件和模板文件在应用目录
# 增加设置apps路径
import sys
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
#字体 和时区
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
################ 应用的静态文件和模板文件在公共目录
# mysite/setting.py 继续添加
TEMPLATES = [ #
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],#指定模板位置
...
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),#指定静态文件位置
# 'F:/python/www/mysite/static',
]
# \mysite\templates\message_form.html
* {% load static %}
<link rel="stylesheet" id="templatecss" type="text/css"
* href="{% static "css/basic-grey.css" %}"
>
3. 目录介绍
### 应用的静态文件和模板文件在应用目录
├─apps #多应用目录
│ ├─message_form # 1应用
│ │ ├─migrations
│ │ ├─templetes
│ │ ├─admin.py
│ │ ├─apps.py
│ │ ├─models.py
│ │ ├─tests.py
│ │ ├─views.py
│ │ ├─templates # html 目录
│ │ ├─upload #上传文件
│ │ └─static #静态文件
│ │ ├─css
│ │ └─js
│ └─polls #2应用
│ ├─migrations
│ ├─__pycache__
│ ├─templates
│ ├─admin.py
│ ├─apps.py
│ ├─models.py
│ ├─tests.py
│ ├─views.py
│ ├─templates # html 目录
│ ├─upload #上传文件
│ └─static #静态文件
│ ├─css
│ └─js
├─extra_apps
├─mysite
│ └─__pycache__
├─__init__.py
├─requirements.txt
└─manage.py
################ 应用的静态文件和模板文件在公共目录
├─apps #多应用目录
│ ├─message_form # 1应用
│ │ ├─migrations
│ │ ├─templetes
│ │ ├─admin.py
│ │ ├─apps.py
│ │ ├─models.py
│ │ ├─tests.py
│ │ ├─views.py
│ └─polls #2应用
│ ├─migrations
│ ├─__pycache__
│ ├─templates
│ ├─admin.py
│ ├─apps.py
│ ├─models.py
│ ├─tests.py
│ ├─views.py
├───templates # html 目录
├───upload #上传文件
├───static #静态文件
│ ├─css
│ └─js
├─extra_apps
├─mysite
│ └─__pycache__
├─__init__.py
├─requirements.txt
└─manage.py
4. 连接数据库
1. 添加
# 1
添加环境变量
path:D:\phpstudy_pro\Extensions\MySQL5.7.26\bin
# 2
cmd命令行进入E:\mysql5.7.23\bin目录,执行mysqld --initialize-insecure
# 3
执行mysqld –install MySQL57安装服务(install后面是服务的名字,我们这里以MySQL57作为mysql5.7的服务名)
# 4
net start MySQL57启动MySQL服务。
# 5 我们可以在E盘下创建一个MySQLdata_Bak目录,
#此目录下创建mysql_backup目录存放备份文件,mysql_bak.bat是备份脚本,
#脚本内容如下(自动删除7天前的备份文件):
rem auther:wang
rem date:20190526
rem ******MySQL backup start********
@echo off
forfiles /p "E:\MySQLdata_Bak\mysql_backup" /m backup_*.sql -d -7 /c "cmd /c del /f @path"
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"
"E:\mysql5.7.23\bin\mysqldump" -uroot -p123456 -P3306 --default-character-set=utf8 -R -E --single-transaction --all-databases > "E:\MySQLdata_Bak\mysql_backup\backup_%Ymd%.sql"
@echo on
rem ******MySQL backup end********
# 6 连接navicat
2. 配置
# mysite/setting.py 添加
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'message_form',
'USER': 'root',
'PASSWORD': 'root',
'HOSR': '127.0.0.1',
'PORT': '3306',
}
}
3. 创建默认数据库
python manager.py migrate
4. 创建models
查看文档:django中models field详解
链接:http://note.youdao.com/noteshare?id=0207dca2a7f3b415efbd799f7628e127&sub=wcp1591028499709554
from django.db import models
# Create your models here.
class Message(models.Model):
name = models.CharField(max_length=20, verbose_name='姓名', primary_key=True)
email = models.EmailField(verbose_name='邮箱')
address = models.CharField(max_length=100, verbose_name='联系地址')
message = models.TextField(verbose_name='留言信息')
class Meta:
verbose_name = "留言信息"
verbose_name_plural = verbose_name
db_table = 'message' #强制定义数据库名
5.根据models 创建数据库
python manage.py makemigrations
相当于 在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py, 但是这个改动还没有作用到数据库文件
你可以手动打开这个文件,看看里面是什么
在此之后执行命令
python manage.py migrate
将该改动作用到数据库文件,比如产生table之类