65 组件 静态文件相关 视图

主要内容:https://www.cnblogs.com/maple-shaw/articles/9285269.html

1 组件

  a : 定义:可以将常用的页面内容如导航条,页尾信息等组件保存在单独的文件中,然后在需要使用的地方按如下语法导入即可

  b : 语法:  {% include ‘组件名‘%}

2 静态文件相关:

a : 语法: {% load static %}

  {% load static %}
    <link href="{% static ‘bootstrap-3.3.7/css/bootstrap.css‘ %}" rel="stylesheet">
    <link href="{% static ‘s14_files/dashboard.css‘ %}" rel="stylesheet">

   获取静态前缀:get_static_prefix

{% load static %}
    <link href="{% get_static_prefix %}bootstrap-3.3.7/css/bootstrap.css" rel="stylesheet">
    <link href="{% get_static_prefix %}s14_files/dashboard.css" rel="stylesheet">

  两个的区别: 第一种是jango自动拼接成的路径, 第二种是自己手动拼接成的路径

3 simple_tag

4 inclusion_tag

  a : 定义: 多用于返回html代码片段

  b : 课上讲解: 分页

5 视图

  1:CBV 和 FBV

    FBV: 我们之前写的基于函数的view, 就叫FBV

    CBV: 把函数写成基于类的, 就叫CBV

from django.views import View
class AddPress(View):
    def get(self, request):
        return render(self.request, ‘add_press22.html‘)
    def post(self, request):
        add_name = self.request.POST.get(‘name‘)
        Press.objects.create(name=add_name)
        return redirect(‘/press_list/‘)

  url中的代码段:

    url(r‘^add_press/‘, views.AddPress.as_view()),

  CBV的执行流程:

    1 AddPress.as_view()  —— 》 view函数

    2 当请求到来的时候执行view函数:

      1. 实例化自己写的类:   self = cls(**initkwargs)

      2. self.request = request

      3 . 执行dispatch(request, *args, **kwargs)

        1. 自己没有该方法, 执行父类中的此方法

          ? 判断请求方式是否被允许

            允许的情况:  handler = 通过反射获取get 或者 post 方法

            不允许:         handler = 不允许的方法

            handler(request, *args, **kwargs)

        2 . 返回HttpResponse对象

      4 . 返回HttpResponse对象 给jango

        

  2 request:

   # print(request.method)    请求中使用的http方法, 全大写表示    print(request.body)      请求体, bytes类型, request.POST的数据都是从body中取
    # print(request.GET)       #包含所有http GET参数的类字典对象
    # print(request.POST)      #包含所有http POST参数的类字典对象 取form表单提交的数据
    # print(request.path_info)  #返回用户访问的url, 不包括域名
    # print(request.encoding)
    # print(request.get_host())     #127.0.0.1:8000
    # print(request.get_full_path())  #/test/
    # print(request.is_secure())  #/False
    # print(request.is_ajax())      #False   print(request.scheme)          # 返回的是http或者是https    print(request.META)       一个标准的Python 字典,包含所有的HTTP 首部。具体的头部信息取决于客户端和服务器,

  3 response

    1: 常见的三个响应

      from django.shortcuts import render, HttpResponse, redirect
         1. HttpResponse    HttpResponse(‘字符串‘)  
         2. render(request,‘html文件名‘,{})    —— 》 HTML代码
         3. redirect(跳转的地址)

    2 :JsonResponse       : json序列化

      HttpResponse(json.dumps(ret))  # Content-Type: text/html; charset=utf-8

     JsonResponse(ret)      # Content-Type: application/json

import json
from django.http import JsonResponse
def json_data(request):
    dic = {‘name‘: ‘alex‘, ‘age‘: 122}
    # return JsonResponse(dic)
    return HttpResponse(json.dumps(dic))

  

原文地址:https://www.cnblogs.com/gyh412724/p/9762620.html

时间: 2024-07-30 21:34:24

65 组件 静态文件相关 视图的相关文章

Django中的tags,母版和继承,组件,静态文件相关,自定义simpletag和自定义inclusion_tag

Tags for <ul> {% for user in user_list %} <li>{{ user.name }}</li> {% endfor %} </ul> for循环可用的一些参数: Variable Description forloop.counter 当前循环的索引值(从1开始) forloop.counter0 当前循环的索引值(从0开始) forloop.revcounter 当前循环的倒序索引值(从1开始) forloop.rev

Django模板语言-(母板、组件、静态文件相关、simple_tag、inclusion_tag)

母板 母版的写法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <meta name="viewport" content="width=devi

自定义过滤器和标签 &amp; 静态文件相关

自定义过滤器和标签 1.在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 2.在app中创建templatetags模块(模块名只能是templatetags) 3.创建任意 .py 文件,如:my_tags.py from django import template from django.utils.safestring import mark_safe register = template.Library() #r

静态文件相关

{% load static %} <img src="{% static "images/hi.jpg" %}" alt="Hi!" /> 引用JS文件时使用: {% load static %} <script src="{% static "mytest.js" %}"></script> 某个文件多处被用到可以存为一个变量 {% load static %} {%

Django 静态文件相关设置

项目根目录创建  static 文件夹 settings.py 中加入 STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static") ] 原文地址:https://www.cnblogs.com/shijieli/p/10532855.html

Django(五)在模板中使用静态文件

location 最后一个文件夹名就是project名,我用了Django_Plan. Application 是自动加入的APP名字,我用了Plan 静态文件相关配置: Django_Plan\settings.py STATIC_URL = '/static/'#URL访问路径 STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"),#URL对应的路径和URL名称设一致,编写相关代码时提示是正确的 ) 示例一个图片(1.png)

django源码分析——静态文件staticfiles中间件

本文环境python3.5.2,django1.10.x系列 1.在上一篇文章中已经分析过handler的处理过程,其中load_middleware就是将配置的中间件进行初始化,然后调用相应的设置方法. django框架提供的认证,回话保持,静态文件调试处理等都是通过以中间件的形式来处理. 2.本节就分析一下django框架提供的staticfiles中间件,该中间件分别实现了三个框架的命令,分别为collectstatic,findstatic,runserver. 其中,runserver

Django框架静态文件配置和URL解析

静态文件配置 1:#在django项目下创建一个static静态文件文件夹,在static文件夹下创建对应的css,img,js文件夹,用来存放css样式文件,图片和js代码,用于HTML引入 2:#在django项目的settings配置文件中,配置静态文件相关配置(setting文件的最下面) STATIC_URL = '/static/' #静态文件的文件路径别名,别名可以改,一般不改 STATICFILES_DIRS = [ #静态文件的文件路径,就是创建的static的静态文件夹路径,

.NET/ASP.NET 4.5 Bundle组件(捆绑、缩小静态文件)

阅读目录: 1.开篇介绍 2.System.Web.Optimization 组件 3.System.Web.Optimization 组件基本原理 4.扩展自定义类型静态文件 1]开篇介绍 这篇文章将简单的分析一下有关静态文件捆绑的ASP.NET组件System.Web.Optimization的运行原理及基本的缓存问题: 在我们的项目里面充斥着很多静态文件,为了追求模块化.插件化很多静态文件都被设计成模块的方式或者被分解,在需要的时候在通过组合的方式在UI层上使用:这就带来一个问题,文件多了