【Django入坑之路】基础操作(过滤,继承,跳转)
1:自定过滤器
1创建templatetags文件夹
2在里面创建自定义py文件:固定格式:
from django import template
from django.utils.safestring import mark_safe
register = template.Library()
@register.filter + def 自定义方法
@register.simple_tag + def 自定义方法
3 在需要的html文件中导入{{% load 创建的py文件名 %}}
使用方法:
@register.filter------------------------{{ 变量|函数名:参数 }}
@register.simple_tag----------------{% 函数名 x,y,z %}
2:继承模板
1:创建新的html清空代码,填写:
{% extends "继承的母文件名.html" %}
2:在需要修改的地方加上:
{% block 自定义文件名 %}
“在这里复制母文件名里修改的地方进行修改”
{{ block.super }}------可以拿到母文件修改的原内容
{% endblock %} //继承模板02--include方法
1:创建新的html,填写设计的样式
2:在extends文件中,填写代码:
{% load staticfiles %}----固定代码
3:在需要添加设计样式的地方填写:
{% include "设计样式的模板.html" %}
3:前端跳转请求
1:在Django中,<a>标签的href属性可以直接跳转到某个路由页面,但是它要使用的是GET方法,所以一定要在路由函数里面写清楚GET方法跳转的制定页面:
Def index(request):
if request.method=="GET":
//href跳转的路由一定要带着这个方法跳转
return render(request,"add_classes.html")
if request.method=="POST":
Pass
2:同一个页面:跳转用a标签HREF的GTE方法,提交数据组件用POST方法
3:提交完数据后,如果想要跳转到其他页面要使用redirect(//路由)
4:删除指定某条的时候(要拿到那条对应的主键),利用GET 请求设置路由 ?nid={{ 数据.id }}
<a href="/project01/del_classes/?nid={{ class.id }}">删除</a>
5:提交过程中,action路由可以带参数到后端传递数据:
<form action="/project01/Updata_classes/?nid={{ id }}" method="post">
【Django入坑之路】基础操作(过滤,继承,跳转)的更多相关文章
- 【Django入坑之路】Models操作
1:字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 pr ...
- 【Django入坑之路】admin组件
1:settings.py 中的 INSTALLED_APPS # Application definition INSTALLED_APPS = [ 'django.contrib.admin', ...
- 【Django入坑之路】Form组件
1:From组件的简单使用 1创建From: #导入模块 from django import forms from django.forms import fields, widgets # 导入自 ...
- 【Django入坑之路】Django后台上传图片,以及前端的显示
#setting配置: MEDIA_URL = "/media/" MEDIA_ROOT = os.path.join(BASE_DIR, "media") # ...
- 【Django入坑之路】Django与Query Ajax的交互
1:Jquery.ajax后端交互数据 $.ajax({ Url: /路由处理/, Type: GET/POST, #传送请求类型 Data: {user: “ XXXX”,pass:”XXXX”}, ...
- Idea+springboot入坑之路
环境准备 IDEA 社区版: 2019.3 jdk: 1.8.0_241 tomcat: 7.0.99 maven: 3.6.3 spring-boot:2.2.5.RELEASE 插件 spring ...
- RxJava+RxAndroid+MVP入坑实践(基础篇)
转载请注明出处:http://www.blog.csdn.net/zhyxuexijava/article/details/51597230.com 前段时间看了MVP架构和RxJava,最近也在重构 ...
- k8s入坑之路(7)kubernetes设计精髓List/Watch机制和Informer模块详解
1.list-watch是什么 List-watch 是 K8S 统一的异步消息处理机制,保证了消息的实时性,可靠性,顺序性,性能等等,为声明式风格的API 奠定了良好的基础,它是优雅的通信方式,是 ...
- k8s入坑之路(4)kubenetes安装
三种安装方法: 1.kubeadm 2.kubespray 3.二进制安装 kubespray安装kubernetes集群 优点: 1.kuberspray对比kubeadm更加简洁内部集成了kube ...
随机推荐
- 关于UML类图的一点理解(转)
首先我们定义一个非常简单的Person类,代码如下: public class Person { private String name; private int age =1; public Str ...
- 使用poco再次封装redis
为方便程序对redis操作,我对poco的redis进行了再次封装,主要是针对自己应用需要的部分. 开发工具:netbean 系统环境:centos7 poco版本: poco-1.9.0-all 其 ...
- Matlab 路径函数
1 fileparts [pathstr,name,ext] = fileparts(filename) 将filename字符串分解成路径,文件名和文件后缀.文件可以不存在,ext中含有前缀dot( ...
- MR过程解析(转自about云)
图中1:表示待处理数据,比如日志,比如单词计数图中2:表示map阶段,对他们split,然后送到不同分区图中3:表示reduce阶段,对这些数据整合处理.图中4:表示二次mapreduce,这个是m ...
- LeetCode412Fizz Buzz
写一个程序,输出从 1 到 n 数字的字符串表示. 1. 如果 n 是3的倍数,输出"Fizz": 2. 如果 n 是5的倍数,输出"Buzz": 3.如果 n ...
- 2016年省赛 G Triple Nim
2016年省赛 G Triple Nimnim游戏,要求开始局面为先手必败,也就是异或和为0.如果n为奇数,二进制下最后一位只有两种可能1,1,1和1,0,0,显然异或和为1,所以方案数为0如果n为偶 ...
- vue项目 安装和配置sass & main.js引入scss文件报错
通过npm 安装 cnpm install --save-dev sass-loader cnpm install --save-dev node-sass 在build文件夹下的webpack.ba ...
- 前端小知识--区分get和post请求
get和post是HTTP协议中的两种发送请求的方法. 如果你还不了解http,可以点击[HTTP协议①介绍](https://www.jianshu.com/p/632b890b75ac)[HTTP ...
- 在VUE中实现打印
1.安装 npm install vue-print-nb --save 2.在mian.js中引入 import Print from 'vue-print-nb' Vue.use(Print); ...
- jframe 设置左上角和任务栏的图标
默认就是 改成有意义的,一眼就能看出来功能的,比如一个小蜘蛛 第一个最简单的做法,把图片扔到工程的根目录,但是这样会相当乱,不便于文件管理 ImageIcon icon = new ImageIcon ...