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

  • 相关阅读:
    POJ 2260
    安防监控 —— 数据上行刷新与命令下发过程
    安防监控 —— 主框架搭建
    安防监控 —— 软硬件环境分析与通信协议制定
    安防监控项目 —— 需求分析
    安防监控项目 —— 环境搭建
    Linux下I2C总线驱动框架
    IIC总线硬件工作原理(待完善)
    linux驱动面试(转)
    驱动开发 —— 输入子系统(工作逻辑分析)
  • 原文地址:https://www.cnblogs.com/bainianminguo/p/9961104.html
Copyright © 2020-2023  润新知