流程目录
1 确认已经安装完成的软件
2 搭建Django基础框架
3 编写配置文件
4 创建第一个应用
5 模型的建立和迁移
6 URL配置
7 编辑视图
8 表单提交
9 本地局域网部署及查看
10 普通请求 和 ajax请求数据的调用
11 自定义文件以及全局配置文件的使用
12 网站小图标和网页语言设置
1 确认已经安装完成的软件
1-1 确认python
直接使用cmd 命令 python 来确认是否安装和对应的版本号
C:\Users\30818>python
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
1-2 确认数据库
C:\Users\30818>mysql -uroot -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.21 MySQL Community Server - GPL
1-3 准备数据库绑定
准备好安装文件 PyMySQL-0.10.0-py2.py3-none-any.whl 他用于django和mysql进行连接
1-4 验证django是否能被python识别 在cmd中输入完成对应验证
C:\Users\30818> python
>>> import django
>>> print(django.get_version())
3.0.3
2 搭建Django基础框架
2-1 创建虚拟环境
安装虚拟环境 是用来解决 django版本不同出现问题的情况
创建网站文件夹 并cd进入文件夹目录 项目名应避免django和test等类似名称
C:\Users\30818>e:
E:\>cd website\server\hulishuju
创建虚拟环境 进入对应目录进行操作
/*虚拟环境名称自定义*/
E:\website\server\hulishuju> python -m venv hulishuju_env
/*激活并进入虚拟环境 关闭虚拟环境 deactivate*/
E:\website\server\hulishuju> hulishuju_env\Scripts\activate
后续为了方便快速进入虚拟目录 我们可以制作一个bat文件来快速进入
创建一个hulishuju_env.bat 文件
@echo off
cd \
cd hulishuju\
call hulishuju_env\Scripts\activate
cmd .
进入后前方括号代表是虚拟环境了
(hulishuju_env) E:\website\server\hulishuju>
虚拟环境中安装一份django
依然是将 Django-3.0.3-py3-none-any.whl 放在文件夹中 直接 pip install 完成对应安装
若是断网模式 需要先依次安装相关依赖文件
asgiref-3.2.10-py3-none-any.whl pytz-2020.1-py2.py3-none-any.whl sqlparse-0.3.1-py2.py3-none-any.whl
(hulishuju_env) E:\website\server\hulishuju>pip install Django-3.0.3-py3-none-any.whl
安装完成后使用pip list 可以检查安装的对应文件
也可以使用如下指令检查对应的版本号
(hulishuju_env) E:\website\server\hulishuju>python -m django --version
3.0.3
2-2 建立主目录和开启测试服务器
创建主目录
/* 最后的点非常重要 他使得文件能在指定目录中被创建 */
/* django-admin startproject [站点名称] */
(hulishuju_env) E:\website\server\hulishuju>django-admin startproject hulishuju .
建立主目录文件功能如下
hulishuju/ ----根目录 对django没有影响 可以任意重命名
manage.py ----管理django项目的 命令行工具
hulishuju/ ----纯python包 当应用内部任何东西的包名 如 hulishuju.urls
__init__.py ----空间文 告知Python该目录应被认为是一个python包
settings.py ----项目配置文件
urls.py ----URL声明文件 类似网站目录
asgi.py ----在ASGI兼容的WEB服务器上的入口
wsgi.py ----在wsgi兼容的web服务器上的入口
内部环境服务器测试指令 python manage.py runserver
(hulishuju_env) E:\website\server\hulishuju>python manage.py runserver
若是可以正常进入 此时浏览 http://127.0.0.1:8000/ 即可确认到火箭和祝贺页面
本地测试服务器每一次访问请求都会重新加载一遍python代码 所以不用频繁重新 但是添加新文件等不会触发 仍需手动重启
还未配置前运行 会产生一个db.sqlite3 文件 因为是使用的自带的数据库 该文件根据下方配置完成后可删除
3 编写配置文件
E:\website\server\hulishuju\hulishuju\settings.py
编写前记得保存设置页面密钥 每个页面不同 防止错误覆盖后续项目出现问题
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'm#amq+lqj84zb6j********%%8xjytv^r!=*l'
3-1 配置语言和时区
# 配置语言
LANGUAGE_CODE = 'zh-hans'
# 配置时区
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
#mysql是统一时区 然后根据UTC时区增减
#如果设置为false 则变为本地时区 如果应用不跨时区 那么可以 若跨时区 会混乱
#无特殊需要 直接设置False 最好 避免后续存入数据库相差8小时
USE_TZ = False
3-2 配置数据库
安装PyMySQL-0.10.0-py2.py3-none-any.whl
(hulishuju_env) E:\website\server\hulishuju>pip install PyMySQL-0.10.0-py2.py3-none-any.whl
进入初始化文件 注册mysql驱动
E:\website\server\hulishuju\hulishuju\__init__.py
# 注册pymysql驱动
import pymysql
pymysql.install_as_MySQLdb()
进入配置文件 进行数据库配置
需要提前创建数据库 避免后续迁移错误 创建后 后续将数据库名填入name中
mysql> create database users charset = utf8;
Query OK, 1 row affected, 1 warning (0.12 sec)
E:\website\server\hulishuju\hulishuju\settings.py
DATABASES = {
'default': {
#引擎可选指对照表
#django.db.backends.postgresql # PostgreSQL
#django.db.backends.mysql # mysql
#django.db.backends.sqlite3 # sqlite
#django.db.backends.oracle # oracle
'ENGINE': 'django.db.backends.mysql',
# 这里是需要进入的数据库名称
'NAME': 'django_li