一、环境准备
1、Python 3.6.1
2、Django 2.2.6 pip安装即可
3、mysql 5.7.1 + Connector/J 5.1.48
(1)安装:mysql安装时需记录用户名、密码
(2)配置时间、字符集:
sql cmd: set global time_zone = '+8:00'; #修改mysql全局时区为北京时间,即我们所在的东8区 set time_zone = '+8:00'; #修改当前会话时区 flush privileges; #立即生效
installPath\my.ini:
在[client]节点下添加 default-character-set=utf8
在[mysqld]节点下添加 (注:collation是排序方式) character-set-server=utf8 collation-server=utf8_general_ci
restart
SHOW VARIABLES LIKE 'char%';
(3)本地启动mysql服务:
CMD: net start mysql_service_ch
(4)数据库迁移
manage.py makemigrations
manage.py migrate
(5)创建超级用户
manage.py createsuperuser
(6)设置后台管理界面为中文
setting.py中: LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai'
二、创建项目、应用
1、创建项目:django-admin.py startproject MySite
运行服务:manage.py runserver
本地访问:http://127.0.0.1:8000/
ps:外部机器(同一网络)访问本机的Django服务 ./manage.py runserver 0.0.0.0:8080
并将setting.py中,ALLOWED_HOSTS = ['*', ]
2、创建应用:manage.py startapp Post
3、目录说明:
C:\Users\userName01>tree /F D:\workSpace\my_code\Django\MySite #win环境下,cmd执行,即可获取目录树
D:\WORKSPACE\MY_CODE\DJANGO\MYSITE │ db.sqlite3 │ manage.py #django命令执行 ├─MySite │ │ testdb.py #sql │ │ urls.py #urlpatterns中配置路由信息,即页面请求url配置在此,由此调用views.py中的视图函数 │ │ views.py #视图层:处理,返回数据、html等 │ │ wsgi.py #再试没了解到 │ │ __init__.py │ │ │ ├─templates #放置静态html模板 │ │ hello.html │ │ post.html │ ├─Post #我自己生成的应用,大体和上面django生成的目录差不多 │ │ admin.py │ │ apps.py │ │ models.py │ │ MyOprate.py #具体实现,供views.py调用 │ │ tests.py │ │ urls.py #上面的MySite\urls.py\urlpatterns中配置:url(r"",include('Post.urls',namespace="Post"))即可包子应用的路由 │ │ views.py │ │ __init__.py │ │ │ ├─migrations #数据库执行信息会保存于此,migrate即可提交执行 │ │ │ 0001_initial.py │ │ │ 0002_auto_20191106_1708.py │ │ │ __init__.py │ │ │ │ │ │ ├─static #放置静态数据 │ │ ├─css │ │ │ base.css │ │ ├─images │ │ │ 094f20095d26875c98d3370f5c04e67e.png │ │ └─js │ │ comm.js │ │ │ └─templates #放置应用的html模板 └─Post index.html
4、由于选择的是mysql,需要配置数据库信息:
MySite/__init__.py:
import pymysql
pymysql.install_as_MySQLdb()
MySite/setting.py:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', 'NAME': 'mysite', 'USER':'root', "PASSWORD":"passwd123456", "HOST":"127.0.0.1", "PORT":"3306" } }
至此,环境基本搭建完成;
三、业务实现
按目前理解,大体模式是:
浏览器html点击/出发请求--> MySite\urls.py\urlpatterns中寻找路由信息-->调用views.py中的视图函数-->视图函数调用具体实现代码、数据库处理-->组装结果-->返回结果至前端
以实现结果为例:
#todo