web框架简介,django简介

什么是web应用

软件开发架构

C/S架构
    客户端
    服务端
B/S架构
    浏览器
    服务器
本质:B/S架构其实也是C/S架构
移动端正在想B/S架构发展--微信小程序,支付宝内嵌结构程序,目的是了为了统一入口

HTTP协议

超文本传输协议:规定了客户端和服务端消息传输的格式

四大特性:
    1、基于TCP/IP协议作用于应用层的协议
    2、基于请求响应
    3、无状态
    4、无连接
    
请求 的数据格式
    请求首行
    请求头  # 一堆k,v键值对
    # 此处要留一个空格,切记!
    请求体

响应 的数据格式
    响应首行
    响应头  # 一堆k,v键值对
    # 此处要留一个空格,切记!
    响应体
    
响应状态码
    1XX 服务端已收到数据,正在处理,你可以继续提交数据
    2XX 请求成功
    3XX 重定向
    4XX 请求资源不存在
    5XX 内部服务器错误

动/静态网页

静态网页:
    页面上的数据是写死的,万年不变
动态网页:
    页面上的数据需要从后端动态获取
    # 比如从后端获取当前时间
    # 后端获取数据库数然后直接传递给前端页面

模板渲染

后端生成的数据直接传递给前端页面使用(并且前端页面可以灵活的操作数据)>>>模板语法

模板渲染  模板语法需要依赖于第三方模块:jinja2
pip install jinja2

模板语法  jinja2支持前端直接使用类似于python的语法操作数据:
<!--user_dic={"name":"jason","password":"123"}-->
<p>{{ user_dic }}</p>
<p>{{ user_dic.name }}</p>
<p>{{ user_dic["password"] }}</p>
<p>{{ user_dic.get("name") }}</p>
<!--以上三种取值方式都可以取到对应的值-->

{% for user in user_dict %}  <!--user_dict=[{},{},{}...]-->
    <tr>
        <td>{{ user.id }}</td>
        <td>{{ user.name }}</td>
        <td>{{ user.password }}</td>
    </tr>
{% endfor %}

简易版本的web框架图

1635229-20190605192927836-1485724429.jpg

python三大主流web框架

Django:大而全,自带了很多功能模块,类似于航空母舰(缺点:略显笨重,但仍数最热门web框架)
Flask:短小精悍,自带的功能模块特别少,大部分都是依赖于第三方模块(小而轻)
Tornado:异步非阻塞,主要用在处理高IO,多路复用的情况,可以写游戏后端


a: socket
b: 路由与视图函数
c: 模板渲染

Django:
    a 用的别人的  wsgiref
    b 自己写的
    c 自己写的
    
Flask:
    a 用的别人的 werkzeug
    b 自己写的
    c 用的别人的 jinja2
Tornado:
    a,b,c都是自己写的

Django简介

下载Django

下载版本:
    推荐下载1.11.11版本
下载方式一:
    命令行下载
        pip3 install django=1.11.11
下载方式二:
    pycharm下载
    
验证是否下载成功:
    命令行输入: django-admin,若返回数据则下载成功

创建django项目的方式

方式一(命令行创建):
    创建django项目
        django-admin startproject 项目名
    创建app应用
        python3 manage.py startapp app01(app名)
    启动django项目
        python3 manage.py runserver
    ps:用命令行创建django默认不会自动创建tamplates文件将爱
    需要你手动自己创建(注意该文件夹路径是否被添加到配置文件中)
方式二(pycharm创建)
    创建django项目
    File--new project--django--名字不能有中文、选择本地解释器、勾选后台管理
    创建app应用
        选择 Tools--run manage task 功能栏 的命令行中输入 
            python3 manage.py startapp app01
    启动django
        点击绿色启动按钮

强调:

​ 1、用jdango一定要保证只有一个django项目在运行状态,切记切记!
​ 2、一定记得清浏览器的缓存

app(应用)的概念

​ 一个django项目就是一所大学
​ app就是大学里面的学院

注意:新创建的app需要在配置文件中注册才能生效(******************)

INSTALLED_APPS = {
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config'  # 可以用全称
    'app01'  # 也可以简写
}

django各个文件的作用

应用名
    migrations   数据迁移记录相关数据
    admin.py     django后台管理相关
    models.py    模型表相关
    views.py     视图函数相关
项目名
    settings.py  配置文件
    urls.py      路由与视图函数的映射关系
templates
    项目用到的所有html文件
manage.py
    django文件入口

django小白必会三板斧

from django.shortcuts import HttpResponse,render,redirect

HttpResponse   返回字符串

render         返回一个html页面
    两种给前端页面传值的方式
        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())
            # 用local()会把之上的所有变量都传给前端

redirect       重定向

django识别到代码变化之后会自动重启,但是有时候反应速度比较慢,可以手动重启,也可以多刷新几次浏览器

转载于:https://www.cnblogs.com/shuchengyi/articles/10980583.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值