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

 

posted on 2018-11-14 23:25  bainianminguo  阅读(239)  评论(0编辑  收藏  举报