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入口文件

  • 相关阅读:
    域名证书文件包含两段证书
    关于docker的scratch镜像与helloworld
    JS实现网站内容的禁止复制和粘贴、另存为
    使用chromedriver实现豆瓣网页的全网页截图
    Python Tornado初学笔记之数据库(二)
    Python Tornado初学笔记之表单与模板(一)
    Redis中sds 模块的 API
    原码、补码、反码、移码之间的换算
    Python中的位运算
    Python中进制的转换
  • 原文地址:https://www.cnblogs.com/lzss/p/11750342.html
Copyright © 2011-2022 走看看