基于 URL 渲染和提供 django 模板。
项目描述
django3-leaf
从https://github.com/coremke/django-leaf分叉以提供 django 3+ 支持。根据 URL 路径渲染 django 模板。
快速开始
-
从 pypi 安装包:
pip install django3-leaf
-
将“leaf”和“mptt”添加到您的 INSTALLED_APPS:
INSTALLED_APPS = ( ... 'leaf', 'mptt', )
-
将叶子网址添加到您的 urlpatterns的末尾:
url(r'^', include('leaf.urls')),
用法
django-leaf 可用于呈现“静态”和数据库支持的模板。
静态模板
如果您想在用户访问时呈现模板/example/url/,请创建以下文件之一:
- 示例/url.html
- 示例/url/index.html
- 页面/示例/url.html
- 页面/示例/url/index.html
数据库支持的模板
安装 django-leaf 后,管理界面将有一个名为的新部分Pages,您可以在其中创建页面层次结构。
要定义您自己的页面模型,您需要从leaf.models.Page. 有几个字段可用于自定义:
- identifier:模型的唯一标识符。这将用于将页面节点与您的页面实现相关联。如果您不提供
identifier,将为您提供一个。 - 模板:要渲染的模板。
- admin_page_inline:内联渲染模板字段时使用的管理类。这默认为 default
admin.StackedInline。 - admin_inlines:要添加到管理员的其他内联列表。
这是一个使用django-parler提供的翻译创建页面的示例:
# admin.py
from parler.admin import TranslatableStackedInline
class AboutPageInline(TranslatableStackedInline):
pass
# models.py
from django.db import models
from leaf.models import Page
from parler.models import TranslatableModel, TranslatedFields
from .admin import AboutPageInline
class AboutPage(Page, TranslatableModel):
admin_page_inline = AboutPageInline
identifier = 'about-page'
template = "about.html"
translations = TranslatedFields(
headline=models.CharField(max_length=255),
copy=models.TextField(blank=True)
)
def __unicode__(self):
return self.headline
渲染模板时,所有模型字段都将在page上下文变量中可用:
{{ page.headline }}
{{ page.copy }}
主页
根页面可以通过添加新页面添加到 django-leafslug=home和parent=None. 在该目录下添加的所有页面都将home在路径中不包含该部分的情况下添加。
去做
- 更好的文档。
- 更多配置选项。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
django3-leaf-3.0.1.tar.gz
(11.4 kB
查看哈希)
内置分布
django3_leaf-3.0.1-py3-none-any.whl
(14.6 kB
查看哈希)
关
django3_leaf -3.0.1-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 93b1187e5a69468f1c4cc2b2ea9fb3a405642633254b18c7fb28e5bb78a9aad6 |
|
| MD5 | bdd0cf6f9191668bdae6a0e31d12a180 |
|
| 布莱克2-256 | d69c779e63989e300e5a790ece1de2e08f6e8ccc00787e3e853a028161662497 |