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:后开始拼接域名,下图中圈红的就是拼接的路径

xadmin系列之零碎的小点详解编程语言

 如果使用相对路径,则会在当前的域名后拼接,比如我们当前的域名是如下

xadmin系列之零碎的小点详解编程语言

我们的a标签是这样写的,这里要注意和上边的差别,他不是从/开始的

return mark_safe("""<a href="xadmin/app1/app1person/{pid}/change">编辑</a>""".format(pid = obj.pid)) 

  

这个时候我们点击a标签,观察一下域名,他会在当前域名的后面拼接我们的a标签指向的域名

 xadmin系列之零碎的小点详解编程语言

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也是一样的流程

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/20789.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论