mark_save
class BookConfig(ModelStark):
def edit(self, obj=None, is_header=False):
if is_header:
return "操作"
return mark_safe("<a href='/stark/app01/book/%s/change/'>编辑</a>" % obj.pk)
def delete(self,obj=None,is_header=False):
if is_header:
return "删除"
return mark_safe("<a href='/stark/app01/book/%s/delete/'>删除</a>" % obj.pk)
list_display = ["title", "price","publish", "authors", edit, delete]
site.register(Book, BookConfig)
site.register(Publish)
site.register(Author)
与safe性质相同
不带safe的,将内容原样输出
带safe的,是将内容当做html进行解析。
如果一个内容让用户输入的,一个懂程序的用户恶意写入一个死循环框的js代码,然后你还认为这个safe是安全的,网页直接废掉了。
所以一般我们传递给前段模板的,才有可能使用safe,如果是用户输入的内容,进行显示时肯定不会使用safe,直接原样输出。
mark_save的更多相关文章
随机推荐
- loadrunner压测工具
https://www.cnblogs.com/xxyBlogs/p/4579509.html https://www.cnblogs.com/jaazz/p/8668214.html
- UIKIT_EXTERN和define定义常量
看过我其他的博客的人都知道,我喜欢用define定义常量,最近看了一个开源的轮子,使用UIKIT_EXTERN这个定义的常量,了解了一下,发现使用宏定义的常量会在内存中临时开辟一份内存空间,而使用UI ...
- iOS添加pch文件
1.第一步,创建pch文件 第二步设置pch文件:相对地址,填写$(SRCROOT)/YTCompleteCarSell/PrefixHeader.pch $(SRCROOT)是项目地址/项目名/p ...
- 20180824 SSRS Line Chart 绘制
(很多时候我都会只记录遇到的问题点,很少详细的写整个过程) 1. 安装ReportBulider 客户端,不需要填写server url ,可以先放空,后面再维护. 安装包官网可以下载,是免费的,现在 ...
- 多线程——实现Runnable接口实现一个多线程
实现Runnable接口实现一个多线程 Runnable接口源码: package java.lang; //Runnable接口源码只有一个run方法 public interface Runnab ...
- throws和throw的区别
throws是声明在方法上,告诉调用者这个方法可能会出现的问题.格式 : 方法() throws 自定义异常类(异常类) 就是在这个方法里面会出问题时,new throw时, ...
- Java 基础 变量和运算符
Java基础语法 第1章 变量 1.1 变量概述 1.2 计算机存储单元 1.3 基本类型之4类8种 1.4 常量与类型 1.5 定义变量(创建变量) 1.6 变量使用的注意事项 1.7 数据类型 ...
- 关于RTSP-Over-HTTP
--------------------更新2018.07.10------------------- myRtspClient-1.3.0开始支持RTSP-Over-HTTP ----------- ...
- mysql 延迟添加唯一索引
MySQL [test]> create table tbl_keyword ( -> id int not null auto_increment primary key, -> ...
- podofo 一点小分享
PDF 的开源库,大多是Java,或C#的,但C++也有一个很不错的PDF开源库:PoDoFo 我司的PDF签章产品中,我就是用这个PoDoFo库来做的底层 但是国外开源库对中文支持都是或多或少有点问 ...