我正在使用django admindocs进行文档编制,并且基本功能运行良好(我可以访问文档页面,列出了文档文档中的模型,包括了help_text,等等。]
[不幸的是,文档字符串中的reStructuredText标记被完全忽略,例如
appname.ModelName
我正在使用Django的开发主干版本(1.7)
这是我正在使用的文档字符串的示例:
class Adresse(models.Model):
u"""Postanschrift
Wird für
- Organisationen
- Personen
genutzt.
Siehe auch https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#generic-relations
"""
object_id = models.PositiveIntegerField()
content_type = models.ForeignKey(ContentType)
of = generic.GenericForeignKey('content_type', 'object_id' )
...
当我将上述文档字符串内容粘贴到其他编辑器中(我使用http://rst.ninjs.org/时,一切都按预期工作。
此转换适用于文档字符串记录方法,例如
def my_method(self):
"""Docstring Heading
1. Listitem 1
2. Listitem 2
refers to :model:`personen.Person`
"""
pass
已正确转换。
我确定,我错过了很明显的东西,对吗?
然后admindocs模块的行为与Django 1.4中的行为相同。
urls(..)
和view
,以提供对文件的访问,并将限制设置为staff only(例如,通过规范修饰符login_required
和[ C0]。其他解决方案:
不幸的是,缺少关于第一次使用的文档,例如user_pases_test
参数settings.py
。
请确保为了激活这些过滤器,将RESTRUCTUREDTEXT_FILTER_SETTINGS
添加到settings.py中的django.contrib.markup'
设置和模板中的INSTALLED_APPS
。
您应该已安装{% load markup %}
。如果未安装,您将不会收到错误消息。当将Linux与bash一起使用时,输入:
docutils
直接渲染reStructuredText:
if [[ -z `pip freeze | grep docutils` ]]; then sudo easy_install docutils;fi;
from django import template
您可以通过遍历所有[相关]模型及其class Adresse(models.Model):
doc = u"""Postanschrift
Wird für
- Organisationen
- Personen
"""
t = template.Template('{% load markup %}{{ contentstr|restructuredtext }}')
c = template.Context({'contentstr': doc})
__doc__ = t.render(c)
属性来自动完成此操作,随后按如下所示将字符串呈现为reStructuredText:
__docs__