Django提供的用于访问许可的mkdocs
django_mkdocs的Python项目详细描述
#django mkdocs
django mkdocs的构建前提是需要简单、美观、可维护的文档,这些文档可以由用户授权。这款应用程序的灵感来自[django documentation](https://github.com/narsil/django-documentation),与django 1.10兼容,并使用[mkdocs](http://www.mkdocs.org/)生成一个由django提供服务的静态站点。django mkdocs并不打算用于大规模访问。它最初是为内部提供文档和选择合作伙伴而创建的。如果您的文档是公开的,那么将mkdocs与github页面或amazon s3一起使用可能是一个更好的解决方案。
您的django项目
在django项目中,将"django_mkdocs"添加到设置中。py:
````
项目/设置。py
已安装的应用程序=(
…
"django_mkdocs",
)
````
添加对项目url的引用。py:
```
project/url.py
url从django.conf.url导入url,include
…
…
url(r'^docs/',include('django mkdocs.url',namespace="documentation'),
]
````
\mkdocs文档的设置
mkdocs包含在django mkdocs中。该项目自然拥有优秀的文档,并且链接在[此处](http://www.mkdocs.org/)。
在那里启动一个mkdocs项目。
```
$mkdocs new project\u docs
````
settings.py
让我们把它移到django项目根目录中,以便以后更容易地构建:
```
$mv project\u docs/mkdocs.yml./mkdocs.yml
````
站点结构以及应该使用哪些标记文件来生成它
-**docs_dir**指的是将从中生成文档的标记,而
-**site_dir**指的是将生成静态站点的位置。
-最后,**Use_directory_url**应设置为false,Django的路由才能正常工作。
`````
mkdocs.yml
site_name:my docs
页面:
-home:index.md
Use_directory_url:false
docs_dir:project_docs/docs
site_dir:project_docs/site
```
若要生成文档,请从包含mkdocs.yml的目录中运行以下命令。我们在这里包含可选的*--clean*标志,表示应该清除站点目录中已从mkdocs.yml中删除的页引用。
````
$mkdocs build--clean
````
每次部署时都会生成文档。
\必须在项目的settings.py中配置这些设置。将documentation_root设置为包含**docs_dir**和**site_dir**文件夹的目录。在这段代码中,'project_dir'是我们的django项目的绝对路径。
````
project/settings.py
django mkdocs演示参数!
项目目录=os.path.dirname(os.path.dirname(uuu file_uuu))
文档目录=项目目录+'/project_u docs'
```
文档根指向静态生成站点的根。这应该与mkdocs.yml site目录对应。
```
documentation\u html根=documentation\u根+'/site'
```
documentation\u access\u函数用于试图访问文档的视图中。django mkdocs以request.user作为参数调用documentation\u access\u函数。此标志确定谁有权查看文档。
```
documentation\u access\u function=lambda user:user.is\staff
```
django mkdocs假定默认使用nginx服务器来提供文档。默认情况下,documentation xsendfile设置为true。如果您不使用nginx,请期待非常少的用户,并了解使用django.views.static.serve的后果,设置以下标志:
```
documentation\u xsendfile=false
````
能够在项目的urlconf中定义的端点上查看静态站点。让我们在本地测试一下。首先,从项目根目录运行django的开发服务器:
````
$python manage.py run server
````
将浏览器指向localhost:8000/docs(或您引用的url)。现在您应该看到生成的文档了!
注意:如果在演示项目中执行以下操作,则可能需要运行迁移并创建超级用户。执行以下命令后,您还需要在本地主机的django管理控制台进行身份验证:8000/admin。
````
$python manage.py migrate
$python manage.py createsuperuser
```
每次部署时都会自动生成文档。使用heroku实现这一点的一种方法是添加一个部署后钩子。在django项目的根目录中,创建一个名为bin/的目录,在该目录中,创建一个名为*post-compile*
````
$mkdir-bin
$touch-bin/post-compile
````
但是,让我们添加build命令。构建mkdocs文档"
mkdocs build--clean
```
最后的目录树应该是这样的:
````
——bin
_初始化py
```
django mkdocs的构建前提是需要简单、美观、可维护的文档,这些文档可以由用户授权。这款应用程序的灵感来自[django documentation](https://github.com/narsil/django-documentation),与django 1.10兼容,并使用[mkdocs](http://www.mkdocs.org/)生成一个由django提供服务的静态站点。django mkdocs并不打算用于大规模访问。它最初是为内部提供文档和选择合作伙伴而创建的。如果您的文档是公开的,那么将mkdocs与github页面或amazon s3一起使用可能是一个更好的解决方案。
您的django项目
在django项目中,将"django_mkdocs"添加到设置中。py:
````
项目/设置。py
已安装的应用程序=(
…
"django_mkdocs",
)
````
添加对项目url的引用。py:
```
project/url.py
url从django.conf.url导入url,include
…
url(r'^docs/',include('django mkdocs.url',namespace="documentation'),
]
````
\mkdocs文档的设置
mkdocs包含在django mkdocs中。该项目自然拥有优秀的文档,并且链接在[此处](http://www.mkdocs.org/)。
在那里启动一个mkdocs项目。
```
$mkdocs new project\u docs
````
settings.py
让我们把它移到django项目根目录中,以便以后更容易地构建:
```
$mv project\u docs/mkdocs.yml./mkdocs.yml
````
站点结构以及应该使用哪些标记文件来生成它
-**docs_dir**指的是将从中生成文档的标记,而
-**site_dir**指的是将生成静态站点的位置。
-最后,**Use_directory_url**应设置为false,Django的路由才能正常工作。
`````
mkdocs.yml
site_name:my docs
页面:
-home:index.md
Use_directory_url:false
docs_dir:project_docs/docs
site_dir:project_docs/site
```
若要生成文档,请从包含mkdocs.yml的目录中运行以下命令。我们在这里包含可选的*--clean*标志,表示应该清除站点目录中已从mkdocs.yml中删除的页引用。
````
$mkdocs build--clean
````
每次部署时都会生成文档。
\必须在项目的settings.py中配置这些设置。将documentation_root设置为包含**docs_dir**和**site_dir**文件夹的目录。在这段代码中,'project_dir'是我们的django项目的绝对路径。
````
project/settings.py
django mkdocs演示参数!
项目目录=os.path.dirname(os.path.dirname(uuu file_uuu))
文档目录=项目目录+'/project_u docs'
```
文档根指向静态生成站点的根。这应该与mkdocs.yml site目录对应。
```
documentation\u html根=documentation\u根+'/site'
```
documentation\u access\u函数用于试图访问文档的视图中。django mkdocs以request.user作为参数调用documentation\u access\u函数。此标志确定谁有权查看文档。
```
documentation\u access\u function=lambda user:user.is\staff
```
django mkdocs假定默认使用nginx服务器来提供文档。默认情况下,documentation xsendfile设置为true。如果您不使用nginx,请期待非常少的用户,并了解使用django.views.static.serve的后果,设置以下标志:
```
documentation\u xsendfile=false
````
能够在项目的urlconf中定义的端点上查看静态站点。让我们在本地测试一下。首先,从项目根目录运行django的开发服务器:
````
$python manage.py run server
````
将浏览器指向localhost:8000/docs(或您引用的url)。现在您应该看到生成的文档了!
注意:如果在演示项目中执行以下操作,则可能需要运行迁移并创建超级用户。执行以下命令后,您还需要在本地主机的django管理控制台进行身份验证:8000/admin。
````
$python manage.py migrate
$python manage.py createsuperuser
```
每次部署时都会自动生成文档。使用heroku实现这一点的一种方法是添加一个部署后钩子。在django项目的根目录中,创建一个名为bin/的目录,在该目录中,创建一个名为*post-compile*
````
$mkdir-bin
$touch-bin/post-compile
````
但是,让我们添加build命令。构建mkdocs文档"
mkdocs build--clean
```
最后的目录树应该是这样的:
````
——bin
_初始化py
```