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的更多相关文章
随机推荐
- Sublime_text编辑器插件安装
Sublime_text 3下载与安装详细教程 参考: https://blog.csdn.net/weixin_40682842/article/details/78727266 http://ww ...
- TCP/IP具体解释--TCP首部的TimeStamp时间戳选项
TCP应该是以太网协议族中被应用最为广泛的协议之中的一个,这里就聊一聊TCP协议中的TimeStamp选项.这个选项是由RFC 1323引入的,该C建议提交于1992年.到今天已经足足有20个年头.只 ...
- 移动端rem布局(阿里)
该方案使用相当简单,把下面这段已压缩过的 原生JS(源码已在文章底部更新,2017/5/3) 放到 HTML 的 head 标签中即可(注:不要手动设置viewport,该方案自动帮你设置) < ...
- yum方式安装lnmp
1.安装mysql>>>yum -y install mariadb mariadb-server 给root用户设置密码 >>>mysqladmin -uroot ...
- Mysql常用的存储引擎
存储引擎 存储引擎是表级别的概念,不同的存储引擎保存数据和索引的方式是不相同的. MyISAM存储引擎 MyISAM最典型的性能问题就是表锁的问题. MyISAM只将数据写到内存中,然后等待操作系统 ...
- seller vue 编写接口请求【mock数据】
[build]-[webpack.dev.conf.js] 或 [build]-[dev-server.js] 在webpack.dev.conf.js中的写法 var appData = requi ...
- box-shadow outline 实现双边框 阴影
文字阴影 text-shadow box-shadow 格式:text-shadow:x y blur color, … 参数 x 横向偏移 y 纵向偏移 blur ...
- Google之路
1,找一个靠谱的dns 2, 替换 C:\Windows\System32\drivers\etc\hosts文件 3,刷新dns 在cmd下运行 ipconfig /flushdns 成功后会提示: ...
- python requests http请求
导入模块 import requests import json header = {'Content-Type': 'application/json'} data = {"} data ...
- iOS 设计模式-NSNotificationCenter 通知中心
通知介绍 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 任何一个对象都可以向通知中心发布通知(NSNotification),描述 ...