django

Posted leo-tail-x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django相关的知识,希望对你有一定的参考价值。

http协议:

  协议://域名(IP)+端口(80)/路径?参数(a=1&b=2)

  浏览器 ----请求协议----->服务器

  浏览器<-----响应协议-----服务器

  请求协议格式:

        请求首行   请求方式 url (路径? get请求参数) 协议/版本号

        请求头        key:value

        请求体        数据(只有post请求才会有请求体)

  响应协议格式:

        响应首行  协议/版本号 状态码 状态码译文

        响应头   content-type:text/html

        响应体   <h1>hello</h1>

MVC:

  M:model(模型)     与数据库打交道

  V:view(视图)      html文件

  C:controller(控制器)   url的分发与视图函数的逻辑处理

MTV:

  M:model(模型)  

  T:template(模板)  存放html文件

  V:view(视图)

使用web框架的流程:

  1:urls 定义映射关系("timer",timer)

  2创建视图函数
      def timer(evsion):

        业务逻辑

        return 文件 (templates文件夹中存着)

  3一旦涉及数据库操作,使用models

Django:

下载安装Django: 直接在命令提示符窗口输入 pip3 install django

创建Django项目: 

        1.先进入文件路径

        2.输入 django-admin

        3.在输入 django-admin startproject 项目名

创建应用:

     1.进入项目目录

     2.输入 python manage.py startapp app名称

启动项目: python manage.py runserver IP:PORT   ip地址(默认本机):端口(默认8000)

 

项目名称
        manage.py    # 启动文件   与项目交互文件
        项目名称
           settings.py : 配置信息
           urls: 路径与视图函数的映射
           wsgi: 封装socket
        app01
              models: 存放与该app相关的表结构
              view  : 存放与该app相关的视图函数的 

 

一 url控制器

urls.py:  请求路径与视图函数的映射关系
(1) 简单使用:通过正则分组获取url中的动态参数
(2) 有名分组:给分组起一个名字,实现关键字传参
(3) 分发    :把每一个app自己的url分发各自的路由文件中
(4) 反向解析:不要硬编码url,通过别名解析url
二 视图函数
   request(请求对象)
        print(request.method) # 请求方式
  print(request.path)   # 请求路径
  print(request.POST)   # POST的请求数据  字典格式
  print(request.GET)   # GET的请求数据  字典格式
  print(request.META)  # 请求头
  print(request.get_full_path())
  print(request.is_ajax())
   response(响应对象)
        三种形式:
        1  HttpResponse("字符串")
       
        2  render("页面")
             --- 读取文件字符串
             --- 渲染变量
        
        3  redirect()  # 重定向

三 模板语法
   
服务器发请求:
  
  
   1 地址栏输入url   默认get方式
  
   2 form表单发请求   可以设置get或者post
  
   3 a标签发请求 







































以上是关于django的主要内容,如果未能解决你的问题,请参考以下文章

DjangoDjango 文件下载最佳实践

DjangoDjango模块创建应用程序

DjangoDjango 如何支持 分组查询统计?

DjangoDjango Debug Toolbar调试工具配置

DjangoDjango中的模糊查询以及Q对象的简单使用

djangodjango-redis的使用方法