zoukankan      html  css  js  c++  java
  • Django基础

    软件开发架构:

    ​ c/s 客户端 服务器

    ​ b/s 浏览器 服务端

    ​ ps:bs本质也是css

    HTTP协议:

    超文本传输协议

    1、四大特性

    ​ 1、基于tcp/ip之上作用于应用层

    ​ 2、基于请求响应

    ​ 3、无状态 cookie session token

    ​ 4、无连接

    2、数据格式

    ​ 请求格式

    ​ 请求首行(请求方式,协议版本)

    ​ 请求头(一大推k:v键值对)

    ​ 请求体:(真正的数据,发post请求的时候才有,如果是get请求是不会有的)

    ​ 响应格式

    ​ 响应首行

    ​ 响应头

    ​ 响应体

    3、响应状态码

    ​ 用特定的数字表示一些意思

    1xx:服务端已经成功接收到了你的数据,正在处理 你可以继续提交其他数据

    2XX:服务器端成功响应(200请求成功)

    3XX:重定向

    4XX:请求错误(404 请求资源不存在 403拒绝访问)

    5XX:服务器内部错误(500)

    get请求:朝别人要数据

    post请求:向别人提交数据

    url统一资源定位符

    基于wsgiref模块

    ​ url.py 路由与视图函数对象关系

    ​ views.py 放的是视图函数(处理业务逻辑的)

    ​ template 模板文件(一堆html文件)

    HTTP协议

    1、纯手撸web框架

    ​ 1、手写socket

    ​ 2、手动处理http格式数据

    2、基于wsgire模块

    ​ 该模块实现了上面两个手动的过程

    ​ 根据功能不同拆分成立不同的py文件

    ​ urls.py只放路由与视图函数对应关系

    ​ views.py 放视图函数(函数,类)

    ​ 拆分完成之后,如果想要添加功能,你仅仅只需要在上面两个地方动手

    3、动态网页

    ​ 静态网页:数据时写死的 万年不变

    ​ 动态网页:数据时实时获取的

    ​ eg:1、后端获取当前时间展示到前端

    ​ 2、后端获取数据库中的数据展示到前端

    疑问:

    如果将后端获取的数据 传递给html页面

    后端获取的数据 传递给html页面 模板的渲染

    模板语法(及其贴近pyhton后端语法)

    <p>{{user}}</p>

    <p>{{user.name}}</p>

    <p>{{user['pwd']}}</p>

    python三大主流框架

    Django:大而全 自带的功能特别特别多,类似于航空母舰,有时候过去笨重

    Flask:小而精自带的功能特别特别少,类似于游骑兵

    ​ 第三方的模块特别特多,如果将flask第三方模块全部加起来,完全可以超过Django

    ​ 比较依赖于第三方模块

    Tornado:异步非阻塞,牛逼到可以开发游戏服务器

    A:socket部分

    B:路由与视图函数对应关系

    C:模板语法

    Djano:A:用的别人的 wsgiref

    ​ B:自己写的

    ​ C:自己写的

    Flask:A:用的别人的 werkzeug(基于wsgiref)

    ​ B:自己写的

    ​ C:用的别人的 jinja2

    Tornado:三者全是自己写的

    注意事项:1、计算机的名称不能有中文

    ​ 2、一个pycharm窗口就是一个项目

    ​ 3、项目名里面尽量不要用中文

    Django版本问题:1.x 2.x 现在市面上用的比较多的还是1.x

    ​ 推荐你使用1.11.9~1.11.13

    django安装:pip3 install django==1.11.11

    如何验证django是否安装成功:命令行直接敲django-admin

    一个django项目就类似于一所大学,而app就类似于大学里面的学院

    django其实就是用来一个个应用的

    一个app就相当于一块独立的功能

    ​ 用户功能

    ​ 管理功能

    django支持任意多个app

    如何使用:命令行使用:

    ​ 创建django项目

    ​ django-admin startproject mysite

    ​ 启动django项目

    ​ python manage.py runserver

    ​ 创建应用app

    ​ python manage.py startapp app01

    注意:

    1、新创建的app需要你去settings配置文件中注册

    2、pycharm只会帮你注册第一个你在创建项目的时候写的应用

    注意:

    ​ 1、使用命令行创建django项目 不会自动帮你创建template文件夹

    ​ 2、settings文件中需要你手动在TEMPLATES写配置

    在启动django项目的时候你一定要确保一个端口只有一个django项目

    项目名:跟项目名同名的文件夹

    ​ settings.py:暴露给用户配置文件

    ​ urls.py 路由与视图函数对应关系

    应用名:

    marations文件夹 存放数据库迁移记录的

    admin.py django后台管理

    apps.py 注册相关

    models.py 模型类

    tests.py 测试文件

    views.py 存放视图函数

    templates文件夹 存放html文件

    manage.py django入口文件

  • 相关阅读:
    LeetCode Path Sum II
    LeetCode Longest Palindromic Substring
    LeetCode Populating Next Right Pointers in Each Node II
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Binary Tree Maximum Path Sum
    LeetCode Find Peak Element
    LeetCode Maximum Product Subarray
    LeetCode Intersection of Two Linked Lists
    一天一个设计模式(1)——工厂模式
    PHP迭代器 Iterator
  • 原文地址:https://www.cnblogs.com/lzss/p/11750342.html
Copyright © 2011-2022 走看看