zoukankan      html  css  js  c++  java
  • 1,Django 基础一

      Django 基础
    基础知识:
    1,什么是web应用?
    web本质就是一个socket服务端,用户的浏览器就是一个socket客户端,基于c/s架构的b/s软件开发架构的应用
    浏览器中敲入网址回车发送了几件事?
    1.浏览器超服务端发送请求
    2.服务端接收请求
    3.服务端返回相应的响应
    4.浏览器接收响应 根据特定的规则渲染页面展示给用户看
    2,HTTP协议主要规定了客户端和服务端之间的通信格式
    3,什么是HTTP协议:
    超文本传输协议:规定了客户端与服务端消息传输的格式
    http的四大特性:
    1,基于请求响应
    2,基于TCP/IP之上的作用于应用层的协议
    3,无状态(服务端无法保存用户的输入状态,一个人来一千次都记不住,都如初见)
    4,无连接(请求来一次响应一次,之后立马断开,之后两者再无任何关系,)
    websocket 相当于是HTTP协议的一个大的补丁 它支持长连接
    请求格式:
    请求首行: http版本信息,以及客户请求方式,和url
    请求头:一大堆的k,v 键值对信息(注意下面的空行不能少)

    请求体:post请求携带的数据
    响应数据格式:
    响应首行(标识http协议版本,响应状态码)
    响应头(一大堆k,v 键值对)

    响应体(返回给浏览器页面的数据 通常响应体都是HTML页面
    响应状态码:
    用一串简单的数字来表示一些复杂的状态或者提示信息
    1XX: 服务器已经成功接受到你的数据正在处理,还可以发送额外数据
    2XX: 请求成功 服务器已经将你请求的数据发送给你了
    3XX: 重定向
    4XX: 请求错误或者没有操作权限,或内容不存在
    5XX: 服务器内部错误
    请求的方式:
    1,get请求,向服务端获取数据,
    2,port请求,超服务端提交数据
    URL :统一资源定位符(大白话就是网址)

    一:Web 框架
    python 三大主流web框架
    1.Django:
    优点:大而全 自带的功能特别特别多,类似于航空母舰
    缺点:有点笨重
    2.Flask:
    优点:短小精悍,自带的功能模块特别少 全都是依赖第三方组件
    flask框架第三方的组件特别多 如果把flask全部的组件加起来
    完全可以覆盖过整个Django
    确定:比较受限于第三方的开发者
    3.Tornado:
    优点:天生的异步非租塞框架 速度特别快 能够抗住高并发 可以开发游戏 服务器

    web 框架可以分为三个部分:
    A: socket
    B: 路由与视图函数匹配
    C: 模板语法

    Django:
    A用的别人的 wsgiref(模块文件)
    b自己写的
    c自己写的
    Flask:
    a用的别人的 werkzeug
    b自己写的
    c用别人写的 jinja2
    Tornado:
    a,b,c都是自己写的

    ps:在介绍Django之前的注意事项,即使用Django注意事项
    1.计算机的名称不能有中文
    2.一个pycharm窗口就是一个项目,不要多个项目放在一个窗口里面
    3.项目名不能起中文
      Web流程图:
      



    Django的版本:推荐使用1.11.11(是可以维护的)
    18年之后才有2.0的版本,LTS 表示可维护的版本
    下载:
    命令行直接下载
    pip3 install django 此时默认为最新版本
    pip3 install Django==1.11.11
    查看是否下载成功:
    django-admin
          


    成功后创建项目:
    创建django项目的方式
    方式1(命令行创建):
    1,创建django项目
    django-admin startproject 项目名
    django-admin startproject mysite
    项目就相当于大学下面的学院,在这里只是个空壳,
    所以要在项目下创建自己的应用(app)即自己学院的学科,每个应用不同,其功能就不同
    2,创建应用(app):(要切换到项目文件夹下)
    切换到项目文件夹下用:cd 项目名。 例如:cd mysite
    第一中方法:
    django-admin startapp 应用名
    django-admin startapp app01
    第二中方法:
    python manage.py startapp app01
    3 命令行启动django 项目
    python manage.py runserver
    启动成功命令行会有一行(Starting development server at http://127.0.0.1:8000/)
    ps:启动成功后,在起了一个django窗口后,再不要去起另一个,在端口没改的情况下别起另外的端口
    如果要起窗口,必须把当前启动的窗口停了,关了,再去起窗口,停用ctrl+z键停掉,腾出端口号 退出
    pycharm创建
    方式2(pycharm创建)
    FILE >>> new project 选择第二个django 需要注意名字不能有中文,选择本地的解释器,勾选后台管理



    创建app
    pycharm命令行创建
    python3 manage.py startapp app01
    Tools下面run manage task功能栏
    启动点小绿色箭头
    (**********************************)
    注意:1,用命令行创建的django项目,不会自动创建templates模板文件夹
    需要我们手动创建 并且需要自己去settings.py文件中注册该文件路径
          



    2,创建的应用一定要在settings.py文件中进行注册,才能生效,否则无法识别
    d

    jango主要文件介绍
    项目文件名:
               同名的项目文件夹:
    settings.py 文件 django 暴露给用户的可配置文件
    urls.py 文件 路由与视图函数对应的文件
    wsgi.py 文件 是模块wsgiref的文件
    manage.py文件 django 的入口文件
              应用文件(app):
    migrations文件夹 数据库迁移记录文件
    admin.py 文件 django后台管理
    apps.py文件 应用注册相关
    models.py 文件 orm模型类
    tests.py 测试文件
    views.py 视图函数文件
          


    小白必会三板斧:######################
    1, HttpResponse:返回字符串,你在里面写字符串,返回字符串相关的
    HttpResponse('你好啊,我是你的第一个Django')
    2,返回页面:
    所有的页面html相关的都在templates里面写,在这个文件夹下创建HTML文件
    render: 返回html页面 并且能够给该页面传值
    3,redirect:重定向




    强调:
    1.用django一定要保证只有一个在运行状态 切记切记!!!!!!!
    2.一定记得清浏览器的缓存
  • 相关阅读:
    轻重搭配
    EF的优缺点
    使用bootstrap-select有时显示“Nothing selected”
    IIS发布 HTTP 错误 500.21
    js添加的元素无法触发click事件
    sql server查看表是否死锁
    sql server把一个库表的某个字段更新到另一张表的相同字段
    SQLSERVER排查CPU占用高的情况
    SQL server中如何按照某一字段中的分割符将记录拆成多条
    LINQ to Entities does not recognize the method 'System.DateTime AddDays(Double)' method, and this method cannot be translated into a store expression.
  • 原文地址:https://www.cnblogs.com/Fzhiyuan/p/11515344.html
Copyright © 2011-2022 走看看