我想要做的是在模型字段的名称上有一个链接。因此,当我使用管理界面填写表单时,我可以访问一些信息。
我知道这不起作用,但显示了我想做的事情
class A(models.Model):
item_type = models.CharField(max_length=100, choices=ITEMTYPE_CHOICES, verbose_name="<a href='http://www.quackit.com/html/codes'>Item Type</a>")
其他选项是在字段旁边添加说明。
我甚至不确定从哪里开始。
答案 0 :(得分:1)
verbose_name
的点与{{ field.label_tag }}
模板中的admin/includes/fieldset.html
之间的时间点之间,对该字符串进行了大量操作。基本上无论你做什么,字符串都会被强制回到unicode并最终在label_tag
中转义。尝试使用mark_safe
或SafeUnicode
甚至|safe
模板过滤器都无法阻止发生转义。
这意味着你有三个选择:
在django表单内部进行很多的黑客攻击,一直通过一个SafeUnicode字符串。
在admin/includes/fieldset.html
模板中手动构建字段的标签标记。请注意,标签上有很多重要的属性,如id,for,class等。
创建一个模板过滤器,用于解析label标签内的字符串,并将其转换为链接。
选项三如果你对正则表达式有任何好处,那么实际上可能是最简单的。
答案 1 :(得分:0)
这应该在模板中真正处理。
这是一种方法......
您可以制作一个名为“描述”的整个其他模型,然后将“项目类型”作为该表中的条目。
从那里,您可以查看永久链接装饰器http://docs.djangoproject.com/en/dev/ref/models/instances/#the-permalink-decorator,它允许您为任何给定的“描述”对象创建永久链接。
最后,请查看http://docs.djangoproject.com/en/1.1/ref/contrib/admin/#overriding-admin-templates以修改管理员模板。在编辑class A
对象的位置,可以将锚点插入到该Description对象的永久链接中。
你要做的事情绝对是可能的。你只需要重新组织你的想法。
祝你好运!