当前位置: 首页 > 编程日记 > 正文

django07 字符串替换

1. 模板语言(字符串替换)
1. 母版和继承
1. 什么时候用母版?
html页面有重复的代码,把它们提取出来放到一个单独的html文件。
(比如:导航条和左侧菜单)
2. 子页面如何使用母版?
{% extends 'base.html' %} --> 必须要放在子页面的第一行

母版里面定义block(块),子页面使用block(块)去替换母版中同名的块
2. 组件
1. 什么时候用组件?
重复的代码,包装成一个独立的小html文件。
2. 如何使用?
{% include 'nav.html' %}

3. Django模板语言中关于静态文件路径的灵活写法
1. 利用Django模板语言内置的static方法帮我拼接静态文件的路径
{% load static %}
<link href="{% static 'bootstrap/css/bootstrap.min.css' %}" rel="stylesheet">
2. 利用内置的get_static_prefix获取静态文件路径的别名,我们自行拼接路径
{% load static %}
<link href="{% get_static_prefix %}bootstrap/css/bootstrap.min.css" rel=stylesheet>
3. as语法(一个路径多次用到,可以使用as保存到一个变量,后面就直接使用变量代替具体路径)
4. 自定义的simple_tag
比filter高级一点点
它可以接受的参数个数大于2

5. 自定义的inclusion_tag
用来返回一段html代码(示例:返回ul标签)

1. 定义阶段
在app下面新建templatetags 文件夹(注意是Python包)
新建一个py文件

from django import template
# 生成注册示例,名字必须是register
register = template.Library()
@register.inclusion_tag("ul.html")
def show_ul(num):
num = 1 if num < 1 else int(num)
data = ["第{:0>3}号技师".format(i) for i in range(1, num+1)]
return {"data": data}

2. 调用阶段
{% load xx %}
{% show_ul 10 %}

2. 今日内容
1. 视图(接收请求返回响应那部分)
1. CBV(class base view)和FBV(function base view)

2. request对象
1. 之前学过的
1. request.method --> 获取请求的方法(GET、POST等)
2. request.GET --> 通常用来获取URL里面的参数
127.0.0.1:8000/edit_book/?id=1&name=yimi
request.GET --> {"id":1, "name":"yimi"}
request.GET.get("id")
3. request.POST --> 用来获取POST提交过来的数据
request.POST.get("book_name")
2. 补充其他常用的:
1. request.path_info --> 获取用户请求的路径(不包含IP和端口和URL参数)
2. request.body

3. response
基础必备三件套(求学要严谨)
1. HttpResponse --> 返回字符串内容
2. render --> 返回一个html页面
3. redirect --> 返回一个重定向(告诉浏览器再去访问另外的网址)

4. JsonResponse

2. 路由系统(urls.py) http://www.cnblogs.com/liwenzhou/p/8271147.html
1. 正则表达式的模糊匹配
2. 分组匹配 --> 相当于给视图函数传递位置参数
3. 分组命名匹配 --> 相当于给视图函数传递关键字参数
(两个不要混合使用)

---------------------------- 这里是坎 ------------------------------------

4. 反向解析URL
本质上就是给url匹配模式起别名,然后用过别名拿到具体的URL路径

1. 怎么起别名?
在url匹配模式中,定义name="别名"
2. 如何使用?
1. 在模板语言里面使用:
{% url "别名" %} --> 得到具体的URL路径
2. 在视图中如何使用:
from django.urls import reverse

reverse("别名") --> 得到具体的URL路径
3. 如何传参数?
1. 模板语言中:
{% url "别名" 2018 "nb" %}
2. 视图函数中
传位置参数:
reverse("别名", args=(2018, "nb"))

传关键字参数:
reverse("别名" kwargs={"year": 2018, "title": "nb"})
4. namespace
为了防止不同的app下面的url匹配模式有重复的别名

转载于:https://www.cnblogs.com/huge-666/p/9887829.html

相关文章:

【云和恩墨】一次 truncate 核心表衍生的安全管理思考

第一章 一次 truncate 核心表衍生的安全管理思考 云和恩墨 | 2016-05-06 17:56 本文编辑整理来自上周四晚云和恩墨大讲堂 黄嵩 关于数据安全问题的分享。安全问题涉及到信息系统的方方面面&#xff0c;尤其是其核心资产——数据的安全。无论是数据访问控制的裸露&#xff0…

合理估算线程池线程数量

参考《Java并发编程实战》 线程数量计算公式 公式&#xff1a;Nthread Ncpu * Ucpu * &#xff08;1 W/C&#xff09;&#xff0c;各字段含义&#xff1a; Nthreads&#xff1a;线程数量 Ncpu&#xff1a;CPU的数量&#xff0c;Runtime.getRuntime().availableProcessors()…

通过regedt查看计算机密码,win10系统通过注册表设置定时更换密码提醒的处理步骤...

有关win10系统通过注册表设置定时更换密码提醒的操作方法想必大家有所耳闻。但是能够对win10系统通过注册表设置定时更换密码提醒进行实际操作的人却不多。其实解决win10系统通过注册表设置定时更换密码提醒的问题也不是难事&#xff0c;小编这里提示两点&#xff1a; 1、首先在…

苏宁零售云 App 稳定保障实践

1. 背景 苏宁零售云目标T4-T6级市场的业务&#xff0c;定位更靠谱的智慧零售解决方案和零售服务集成商&#xff0c;实战式跨界赋能。苏宁易购TO C的经验丰富&#xff0c;相关的方案很完善&#xff0c;但是零售云TO B相关业务启动后&#xff0c;业务增长迅速&#xff0c;App相关…

小酌重构系列[8]——提取接口

前言 世间唯一“不变”的是“变化”本身&#xff0c;这句话同样适用于软件设计和开发。在软件系统中&#xff0c;模块&#xff08;类、方法&#xff09;应该依赖于抽象&#xff0c;而不应该依赖于实现。 当需求发生“变化”时&#xff0c;如果模块&#xff08;类、方法&#xf…

多线程并发编程需要注意虚假唤醒Spurious wakeup

虚假唤醒 Spurious wakeup 如果等待线程在没有通知被调用的情况下唤醒&#xff0c;则称为Spurious wakeup。 解决方案就是: 使用while条件判断&#xff0c;更好的方案是避免使用wait这种低级的API&#xff0c;而是使用高级的并发工具。 因为这些高级的并发工具都是经过无数…

高中计算机个人总结怎么写,毕业生自我总结范文

毕业生自我总结范文1时光飞逝&#xff0c;三年忙碌而充实的大学生活在一片有序的繁忙中将要过去了&#xff0c;回首过去三年&#xff0c;内心感慨万千。我是20xx年春参加电大机械班的学习&#xff0c;回顾这三年的电大学习之路&#xff0c;饱含了汗水和收获。总结是一面镜子&am…

python - 字符串的格式化输出

# -*- coding:utf-8 -*-project: jiaxyauthor: Jimmyfile: study_2_str.pyide: PyCharm Community Editiontime: 2018-11-01 15:12blog: https://www.cnblogs.com/gotesting/# 字符串s #空字符串# 1:字符串拼接# 1.1:字符串与字符串的拼接用 连接s_1 hellos_2 worlds_3 5…

一个冷僻的知识点try直接返回finally里的设置null其实无效

先看引用类型的代码&#xff1a; import java.util.HashMap; import java.util.Map;public class trycatchefinally {public static void main(String[] args) {System.out.println(getMap().get("KEY"));}public static Map<String, String> getMap() {Map&l…

​身份证工具类

2019独角兽企业重金招聘Python工程师标准>>> 身份证工具类 package com.pqs.common.tools;import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util…

目前常用的服务器端网络操作系统有,目前常用的服务器端网络操作系统是()。...

在一台IP地址为192.168.1.1的Windows Server 2008 R2计算机上安装活动目录&#xff0c;建立一个森林根域test.com&#xff0c;保留默认的域功能级别&#xff0c;同时使该计算机成为域test.com的首台域控制器并承担着DNS服务器和全局编录服务器的角色。  操作步骤&#xff…

如何处理用代码创建SD Sales order时遇到的错误消息KI 180

2019独角兽企业重金招聘Python工程师标准>>> 错误消息KI 180:You must enter a company code for transaction Create sales document 代码: REPORT zcreate_so.DATA: ls_header TYPE bapisdhd1,ls_headerx TYPE bapisdhd1x,lt_bapiret2 LIKE bapiret2 OCCURS …

Flink 基本原理与生产实践分享【入门必读,概念清晰】

Flink 基本原理与生产实践分享【入门必读&#xff0c;概念清晰】 https://zh.wikipedia.org/zh-hans/Apache_Flink Apache Flink是由Apache软件基金会开发的开源流处理框架&#xff0c;其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流…

数据库模型设计——主键的设计

在数据库设计时&#xff0c;主要就是对实体和关系的设计&#xff0c;实体表现出来就是表&#xff0c;关系表现出来就是外键。而对于一个表&#xff0c;由两部分组成&#xff1a;主键和属性。主键的简单定义就是表中为每一行数据的唯一标识。其实更准确的说法&#xff0c;每一行…

jsp ajax动态添加数据,jquery Ajax实现Select动态添加数据

jquery Ajax实现Select动态添加数据&#xff0c;具体内容如下1.背景最近在工作中&#xff0c;遇到了一个关于select的问题。一般情况下&#xff0c;select下拉框中的数据都是固定的或者直接在jsp中读取列表值显示。但是&#xff0c;这次要实现select与别的选项框联动&#xff0…

Spring Boot(十一)Redis集成从Docker安装到分布式Session共享

2019独角兽企业重金招聘Python工程师标准>>> 一、简介 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API&#xff0c;Redis也是技术领域使用最为广泛的存储中间件&#xff0c;它是「…

Java线上问题排障:Linux内核bug引发JVM死锁导致线程假死

Java本质上还是离不开操作系统&#xff0c;一来Java源码是用C/C实现的&#xff0c;二来java进程还是需要依附于操作系统和硬件资源&#xff0c;有时候一些问题是操作系统级别导致的&#xff0c;下面的整个事件是源自一则真实的线上案例。 过程&#xff1a; JVM死锁导致线程不可…

从AdventureWorks学习数据库建模——保留历史数据

在业务需求中&#xff0c;经常需要我们在系统中能够记录历史信息&#xff0c;能够查看到历史变动情况&#xff0c;这时我们可以通过增加开始结束时间字段来记录数据的历史版本。对数据的历史记录主要分为&#xff1a;关系、属性历史&#xff0c;实体历史和变更历史。 关系、属性…

因特网的域名服务器系统的好处,dns域名服务器的作用是什么

大家好&#xff0c;我是智能客服时间君&#xff0c;上述问题将由我为大家进行解答。dns是域名系统 (Domain Name System) 的缩写&#xff0c;该系统用于命名组织到域层次结构中的计算机和网络服务。DNS 命名用于Internet等TCP/IP网络中&#xff0c;通过用户友好的名称查找计算机…

Openssl私建CA

构建私有CA: 在确定配置为CA的服务上生成一个自签证书&#xff0c;并为CA提供所需要的目录及文件即可&#xff1b;步骤&#xff1a; (1) 生成私钥&#xff1b;[rootcentos7 ~]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)Generating RSA priva…

不同版本浏览器前端标准兼容性对照表以及CORS解决跨域和CSRF安全问题解决方案

CORS也已经成为主流的跨域解决方案&#xff0c;不过CORF也会引发CSRF&#xff0c;本文先分享第三方的一个前端工具箱全面展示那些浏览器版本支持CORS&#xff0c;由于各家浏览器厂商因为各自原因在不同的版本里支持的标准不同&#xff0c;这个工具小而美&#xff0c;可以清晰的…

arm服务器获取文件路径中文,ssh 访问远程服务器文件路径

ssh 访问远程服务器文件路径 内容精选换一换在IntelliJ上选择“项目”&#xff0c;找到“.idea”文件夹&#xff0c;单击右键选择“新建>文件”&#xff0c; 输入文件名“settings.json”生成settings.json文件。如图1所示。复制以下代码至新创建的settings.json文件中&…

[Win7]如何还原[.bat]文件关联

2019独角兽企业重金招聘Python工程师标准>>> 此文已迁移到微信公众号&#xff1a;灰灰的Rom笔记&#xff0c;公众号ID&#xff1a;SXF-Rom。 灰灰的Rom笔记 转载于:https://my.oschina.net/shawnxia/blog/672371

Android Monkey使用

Monkey 是什么&#xff1f; Android SDK自带的压力测试工具&#xff0c;也是一个命令行工具。它向系统发送伪随机的用户事件流&#xff08;如按键输入&#xff0c;触摸屏输入&#xff0c;手势输入等&#xff09;&#xff0c;实现对正在开发的应用程序进行压力测试。 &#xff0…

Flink在美团的应用与实践听课笔记

本文系《Flink在美团的应用与实践》的听课笔记 原始视频视频资源已经在优酷公开&#xff1a;2018.8.11 Flink China Meetup北京站-Flink在美团的应用与实践 作者&#xff1a;刘迪珊美团 1.现状和背景 实时平台架构 最底层是数据缓存层&#xff0c;可以看到美团测的所有日志类…

[LeetCode]题解(python):150-Evaluate Reverse Polish Notation

题目来源&#xff1a; https://leetcode.com/problems/evaluate-reverse-polish-notation/ 题意分析&#xff1a; 给定一个数组&#xff0c;用这个数组来表示加减乘除&#xff0c;例如 ["2", "1", "", "3", "*"] -> ((2 …

微软苹果服务器宕机,苹果服务器宕机,iPhone用户别做这两项操作,微软特斯拉也中招...

原标题&#xff1a;苹果服务器宕机&#xff0c;iPhone用户别做这两项操作&#xff0c;微软特斯拉也中招虽然苹果一直都以安全来标榜自己&#xff0c;而事实上也确实如此。IOS封闭的环境&#xff0c;相对与安卓这个开放的环境确实要更加安全一些。苹果可以很好的抵御外来的风险&…

索尼发布无人机相机专利,支持眼部对焦

无人机将采用可折叠式设计&#xff0c;无需使用手机就能操控。 目前消费级无人机的行业霸主自然是大疆无疑&#xff0c;前段时间推出的Mavic 2再次让我们领略了大疆无人机的实力。不过近日&#xff0c;索尼在日本公布了其首个无人机相机专利技术&#xff0c;似乎在向大疆发起挑…

你需要知道的高性能并发框架Disruptor原理

Disruptor的小史 现在要是不知道Disruptor真的已经很outer了&#xff0c;Disruptor是英国外汇交易公司LMAX开发的一款开源的高性能队列&#xff0c;LMAX Disruptor是一个高性能的线程间消息传递库&#xff0c;它源于LMAX对并发性&#xff0c;性能和非阻塞算法的研究&#xff0…

c++11 多线程 1c++ concurrency in action

一、并行、多线程 1、计算机中的并行有两种方式&#xff1a;任务切换、利用多处理器多核。 纯粹的任务切换&#xff1a; 纯粹的多处理器多核&#xff1a; 任务切换与多处理器多核结合&#xff1a; 实际应用中是“任务切换与多处理器多核结合”方式&#xff0c;首先现在硬件偏移…