xadmin系列之零碎的小点
1、获取某张表的某个字段的属性
意思就是获取括号中的属性
class app1Person(models.Model):
pid = models.AutoField(primary_key=True)
name = models.CharField(max_length=32,verbose_name="名字")
salary = models.CharField(max_length=32,verbose_name="薪水")
dept = models.ForeignKey(to=app1Dept,to_field="did")
用下面的方法来获取括号中的属性
data = models.app1Person.objects.all()
for d in data:
print(d._meta.get_field("name").verbose_name)
2、a标签中的href的绝对路径和相对路径的区别
如果使用绝对路径的话
return mark_safe("""<a href="/xadmin/app1/app1person/{pid}/change">编辑</a>""".format(pid = obj.pid))
点击这个a标签,他会从127.0.0.0:8080:后开始拼接域名,下图中圈红的就是拼接的路径
如果使用相对路径,则会在当前的域名后拼接,比如我们当前的域名是如下
我们的a标签是这样写的,这里要注意和上边的差别,他不是从/开始的
return mark_safe("""<a href="xadmin/app1/app1person/{pid}/change">编辑</a>""".format(pid = obj.pid))
这个时候我们点击a标签,观察一下域名,他会在当前域名的后面拼接我们的a标签指向的域名
3、这里用到反射,顺便复习一下,反射用的太少了
for m in self.model.objects.all():
temp = []
for i in self.list_display:
if isinstance(i,str):
f = getattr(m,i) else:
f = i(self.model,m) temp.append(f)
3、关于模板使用问题的说明
html文件我们一般放在project的template目录下,其实我们可以在对应的app下也建立一个template的文件夹,那么django在找html文件的时候,先去project下的template目录下找html文件,如果没有找到则找app目录下的template目录下找html文件,这里如果有多个app,那么到底找那个app下的template目录下的文件呢?其实他是按照在djangon的settings中注册app的顺序来查找,如果查找到了,则不往下查找
同理,templatetags的和template也是一样的流程
xadmin系列之零碎的小点的更多相关文章
- 微信小程序开发系列五:微信小程序中如何响应用户输入事件
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...
- 微信小程序开发系列七:微信小程序的页面跳转
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...
- 微信小程序开发系列二:微信小程序的视图设计
大家如果跟着我第一篇文章 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 一起动手,那么微信小程序的开发环境一定搭好了.效果就是能把该小程序的体验版以二维码的方式发送给其他朋友使用. 这个系列 ...
- 微信小程序开发系列四:微信小程序之控制器的初始化逻辑
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 这个教程的前两篇文章,介绍了如何 ...
- hdu 4540 威威猫系列故事——打地鼠 dp小水题
威威猫系列故事——打地鼠 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ...
- 微信小程序开发系列(一)小程序开发初体验
开发小程序所需的基本技能 关于小程序的介绍和使用场景这里不作介绍,这个系列的文章会一步一步地带领大家快速地学习和掌握小程序的开发. 关于还没有接触过小程序的开发者来说,最关心的问题无非就是,开发小 ...
- 微信小程序开发系列(二)小程序的全局文件
其实你已经知道了小程序的文件结构 上一节讲到,小程序的页面由三部分组成: 视图(.wxml).逻辑(.js).样式(.wxss). 我们这次重新展开文件结构: 小程序用到的文件类型只有四种,正如你所看 ...
- [转]微信小程序开发系列(一)小程序开发初体验
本文转自:http://www.cnblogs.com/rennix/p/6287432.html 开发小程序所需的基本技能 关于小程序的介绍和使用场景这里不作介绍,这个系列的文章会一步一步地带领 ...
- 微信小程序开发系列一:微信小程序的申请和开发环境的搭建
我最近也刚刚开始微信小程序的开发,想把我自学的一些心得写出来分享给大家. 这是第一篇,从零开始学习微信小程序开发.主要是小程序的注册和开发环境的搭建. 首先我们要在下列网址申请一个属于自己的微信小程序 ...
随机推荐
- python语言中的数据类型之集合
数据类型 集合类型 set 用途:1.关系运算 2.去重 定义方式:在{}内用逗号分隔开多个元素,但元素的特点是 1.集合内元素必须是不可变类型 2.集合内元素无序 集合内元素不能 ...
- 装饰者模式——Head First
一.定义 装饰者模式(Decorator Pattern)动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案. 二.类图 三.星巴兹饮料 //Component public ...
- ETC2 区别于ETC的重要点
ETC2 主要是对于NPOT却是4的倍数的贴图有较大压缩,比如一个1920X1080RGB的Loading图,ETC4压缩下不管用,大小5.9M,ETC2下压缩为1M
- Zabbix笔记
简单检查中的icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>] 结 ...
- js 替换字符串中所有匹配的字符
var str = 'abcadeacf'; var str1 = str.replace('a', 'o'); alert(str1); // 打印结果: obcadeacf var str2 = ...
- LeetCode OJ 56. Merge Intervals
题目 Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6], ...
- android listview中item通过viewpager实现《IT蓝豹》
android listview中item通过viewpager实现 android listview中item通过viewpager实现,每一个item都支持viewpager实现图片切换功能.本项 ...
- 使用firefox插件httperrequest,模拟发送及接收Json请求 【转】
转自[http://blog.csdn.net/feixue1232/article/details/8535212] 目标:使用httpreques\Json-Handle\tcpdump\wire ...
- SPSS-相关分析
相关分析(二元定距变量的相关分析.二元定序变量的相关分析.偏相关分析和距离相关分析) 定义:衡量事物之间,或称变量之间线性关系相关程度的强弱并用适当的统计指标表示出来,这个过程就是相关分析 变量之间的 ...
- boot中 Quartz注入spring管理类失败
在项目中用到了Quartz,想在里面实现业务操作发现sping类注入总是失败.后来网上查询了一下解决办法.下面把我成功解决问题的这个版本发出来,大家一起学习一下. 在quartz 会发现 job中无法 ...