Python 实训第二天
只要是客服端向服务器端发送得都叫做<请求>
只要是服务器端向客服端发送得都叫做<响应>
Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)
MVT 和 MVC 的比较
了解Django
准备好开发环境
使用入门
C/S Client/Server
比如QQ软件, CF软件, 英雄联盟软件, WPS软件, 等等
B/S Browser/Server
在浏览器中使用程序, 直接通过浏览器和服务器进行通信
比如: 百度, 京东, 阿里, 等等
RIA Rich Internet Applications 富客户端网络哦应用.
通过B/S的方式做出C/S的体验
常见术语
web站点
web应用
web服务器
硬件服务器
软件服务器
HTTP协议 超文本传输协议
Request
Response
开发web项目的常用语言
java
python
php
.net
python中的web框架
django
flask
Tornado
bottle
web2py
Django中的核心功能
无需sql语句即可以快速实现数据库操作
url映射匹配处理
模板系统
表单处理
http处理
站点管理
强大的后台管理
等等
Django核心组件
Templates
用来存放web应用中所需的所有html静态页面
Urls
路由表, 用于解析浏览器发送的url地址, 并对该地址交给特定的程序处理
Views(重点)
视图控制器, 用于具体实现接收浏览器发送的请求数据, 并且进行处理和响应
Model
实现了程序与数据库的对应(ORM)
安装Django
pip install django
或者
pip install django -i https://pypi.douban.com/simple
在下载安装的时候, 如果长时间没成功, 或者经常超时, 则可以找国内镜像点安装, 比如, 清华, 豆瓣,
检测django是否安装成功
a, 在cmd中输入 django-admin.exe --version [前提, 配置号环境变量]
b, 在cmd中输入 python -m django --version
c, 在cmd中进入python 然后 import django 然后使用help() [可以学习使用]
创建出基于django框架的项目
在指定的目录中进入到cmd窗口.
然后输入命令django-admin startproject djangoProejct
说明:
django-admin 是命令
startproject 是指令
djangoProject 是创建的项目名称, 可以改变, 是望文生义的
在生成的项目中有几个非常重要的文件
manage.py 管理(处理)整个项目
在项目中看到的文件
settings.py 项目中全局的配置文件
urls.py web站点的根目录, 用于设定url的响应程序的路由表
wsgi.py 用户该项目与WSGI姜蓉的web服务器入口
备注: wsgi 是网关服务接口
启动项目 (为了测试django配置成功)
前提, 进入到项目中
cd djangoProject
首先测试manage.py版本
python manage.py --version
启动程序
python manage.py runserver 8000
备注: 自己的电脑上8000端口号是否被占用!!!
然后再浏览器中访问 127.0.0.1:8000 如果出现"小火箭"页面, 则表示成功
再django中每一个项目中的子模块都是一个"app"
创建子模块
python manage.py startapp app01
startapp 创建应用的指令
app01 是应用的名称, 可以修改, 要望文生义
创建子应用之后, 则会出现应用名的文件夹, 在文件夹中生成了一些文件
admin.py 用于定义本模块的自定义管理页面
apps.py 本模块的属性文件
models.py 本模块对应的数据库中表的映射文件
tests.py 做单元测试的文件
views.py 本模块中的视图调度模块
在创建完毕该子模块之后, 马上把该子模块配置到全局环境中.
settings.py 中找到 INSTALLED_APPS
然后添加子模块
模板的创建
在app01子应用中创建出templates文件夹, 用来存放项目中所有的html.
创建静态资源文件夹
在app01中创建出static文件夹
可以分门别类的存储静态资源文件
css 用于存放css文件
scripts 用于存放js脚本文件
images 用于存放图片资源文件
首先编写视图控制器(views.py)
确定由哪个函数来处理该请求
# 当访问index.html页面的时候, 程序交由该函数处理
# 在该函数定义中必须带有request参数
def index(request):
# 让该程序跳转到index.html页面
return render(request, 'index.html')
该处理函数需要配置到路由表中(urls.py)