Django初识之从下载安装到顺利的将第一个Django跑起来
Django是什么?
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVT的框架模式,即模型M,视图V和模版T。
目前python比较热的Web应用框架有三个Django、Tornado、Flask。
- Django 大而全,自带了很多功能模块
- Flask: 短小精悍,自带的功能模块特别少,大部分都是依赖于第三方模块(小而轻)
- Tornado: 异步非阻塞 主要用在处理高io 多路复用的情况 可以写游戏后端
Django相较与其他WEB框架有什么优势?
大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。
什么是web应用
软件开发架构
c/s架构
客户端
服务端
b/s架构
浏览器
服务器
本质:b/s架构其实也是c/s架构
HTTP协议
超文本传输协议:规定了客户端与服务端消息传输的格式
四大特性:
1.基于TCP/IP协议作用于应用层的协议
2.基于请求响应
3.无状态
4.无连接
数据格式之请求:
请求首行
请求头(一堆k,v键值对)
请求体(post请求携带的数据)
数据格式之响应:
响应首行
响应头(一堆k,v键值对)
响应体(post请求携带的数据)
注意,中间的空格一定不能忘
响应状态码
1XX 服务器已经成功接受到你的数据正在处理,你可以继续提交其他数据
2XX 请求成功 服务器已经将你请求的数据发送给你了
3XX 重定向
4XX 请求资源不存在
5XX 服务器错误
Django流程介绍
Django的下载安装
it界对软件的安装有个宗旨就是不用最新的,而是要用最稳的,经历了时间检验的
Django也是不要用最新的2.2.2,推荐1.11.11
有两种下载方法(下载好就是安装好l):
1,命令行直接输入 pip3 install django==1.11.11
2,用pycharm下载 用搜索模块的方法直接搜索Django,默认2.2.2,改成1.11.11
如何确定已经安装成功了呢?
安装好后pyth目录下script目录下会有django的exe文件
把scripts这个变量添加进环境变量
最后在直接cmd输入django-admin
这样就确定安装成功了
Django的创建
创建django也有两种方式,命令行和pycharm
1,命令行: django-admin startproject 项目名
创建的的项目就在当前目录下,比如:
表示创建的django项目就在D的根目录下
2,pycharm创建
这儿我选择本机创建。
这里有三个注意事项
1.计算机的名称不能有中文
2.一个pycharm窗口就是一个项目,不要多个项目放在一个窗口里面
3.项目名不能起中文
app应用的创建
这里的app是什么?
举一个比喻
一个django项目就是一所大学
app就是大学里面的学院
1,命令行创建:python3 manage.py startapp app名称(一定要切到创建的Django项目的目录下再输入指令)
2,pycharm创建:
(1)pycharm下面的命令行,输入python3 manage.py startapp app名称
(2)Tools下面run manage task功能栏 输入python3 manage.py startapp app名称
强调:
1.用django一定要保证只有一个在运行状态 (要注意的是你可能pycharm只起了一个项目,但还是会有更新不了代码的情况的话,有可能是命令行起了一个项目,而你没注意)
2.一定记得清浏览器的缓存(浏览器不i同可能设置位置不同,百度很强大)
Django项目中文件介绍
app01,app02是两个应用名
应用名下有
migrations 数据库迁移记录相关数据
admin.py django后台管理相关
models.py 模型表相关
views.py 视图函数相关
myfirstdjango是项目名
项目名下有
settings.py 配置文件
urls.py 路由与视图函数的映射关系
templates(命令行创建的项目没有这个文件,我们需要手动添加)
项目用到的所有的html文件
manage.py
django入口文件
Django设置文件的简单说明
pycharm启动项目,打开settings配置文件
设置允许访问的id,不设置默认都能访问
django自带7个app
注意新创建的app需要在配置文件中注册才能生效
'app01.apps.App01Config' # 可以用全称
'app01' # 也可以简写
模板文件夹相关
注意'DIRS': [os.path.join(BASE_DIR, 'templates')] 可能没有,如果没有一定要加上
django连接数据库的配置
这个在urls.py里,URL配置,它是URL模式以及要为该URL模式调用的视图函数之间的映射表,通俗的说就是输入网址是带上/admin后缀就会执行admin.site.urls的视图函数,返回这个函数的结果,浏览器拿到结果再显示
让django跑起来(django小白必会三板斧)
from django.shortcuts import render,HttpResponse,redirect
HttpResponse 返回字符串
render 返回一个html页面
redirect 重定向
两种给前端页面传值的方式
def reg(request):
user_dict = {'name':'jason','password':'123'}
return render(request,'reg.html',{'user_dict':user_dict})
def reg(request):
user_dict = {'name':'jason','password':'123'}
return render(request,'reg.html',locals())
locals()是将所有变量都传过去
具体步骤
先打开urls.py,URL配置
再到app的view视图写这三个函数
打开浏览器输入127.0.0.1:8000/index
127.0.0.1:8000/admin
127.0.0.1:8000/teg
127.0.0.1:8000/login
就能显示出我们想要的数据