开发步骤:
1、创建Django项目存放的目录
$ mkdir DjangoDemoPro006
2、进入目录
$ cd DjangoDemoPro006
3、使用django-admin创建Django项目
$ django-admin startproject SmartIoTShopPro
4、进入django项目目录
$ cd SmartIoTShopPro/
5、在Django项目中创建app应用程序
Django中的APP:
project -->项目(例如一所大学)
APP --> 应用 (这所大学中的每一个二级学院)
作用:
方便我们在一个大的Django项目中管理实现不同的业务功能。
创建APP的命令:
$ python3 manage.py startapp minapp
6、在Django项目中创建存放html文件及静态文件的templates目录及static目录
$ mkdir templates $ mkdir static
7、使用PyCharm IDE打开Django项目
8、配置Settings.py文件
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'minapp.apps.MinappConfig' ]
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', # 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
templates (存放HTML文件的配置) -->告诉Django去哪儿找我的HTML文件
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
静态文件(CSS、JS、图片)
# 静态文件保存目录的别名 TATIC_URL = '/static/' # 静态文件夹的位置 STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), ]
9、Terminal运行项目,check所配置是否成功。
Django项目的启动:
1)、命令行启动
在项目的跟目录下(也就是有manage.py的那个目录)运行。
python3 manage.py runserver IP:Port -->在指定的IP 和端口启动
python3 manage.py runserver Port --> 在指定的端口启动
python3 manage.py runserver -->默认在本机的8000端口启动
2)、PyCharm启动
点绿色的小三角,直接启动Django项目(前提是小三角左边是你的Django项目名)
$ python3 manage.py runserver 0.0.0.0:8000
10、添加登录页面功能
1)、原理:
Python web框架的本质
a、收发socket消息 --> 安装HTTP协议消息格式去解析消息。
b、路径和要执行的函数的对应关系 --> 主要业务逻辑
c、字符串替换 --> 模板(特殊符号-->数据)
2)、一个完整的请求流程:
a、启动服务器,等待客户端(用户的浏览器)来连接
b、在浏览器地址栏输入URL,与服务器端建立连接,浏览器发送请求。
c、服务器端收到请求消息,解析请求消息,根据路劲和函数的对应关系,找到将要执行的函数
d、执行函数,打开html 文件,进行字符串的替换,得到最终要返回的html页面的内容。
e、按照HTTP协议的消息格式要求,把HTML内容回复给用户浏览器(发送响应)
f、浏览器收到响应的消息之后,按照html的规则渲染页面。
g、关闭连接。
form表单往后端提交数据注意:
1)、所有获取用户输入的标签都应该放在form里面,并且必须要有name属性。
2)、action属性控制往哪儿提交,method一般都设置成post。
3)、提交按钮必须是type=submit,不能是别的类型。
GET请求和POST请求
GET请求:
a、浏览器请求一个页面。
b、搜索引擎检索关键字的时候。
POST请求:
a、浏览器向服务端提交数据,例如:登录/注册等