Skip to main content

基于 URL 渲染和提供 django 模板。

项目描述

django3-leaf

https://github.com/coremke/django-leaf分叉以提供 django 3+ 支持。根据 URL 路径渲染 django 模板。

构建状态 最新版本

快速开始

  1. 从 pypi 安装包:

    pip install django3-leaf
    
  2. 将“leaf”和“mptt”添加到您的 INSTALLED_APPS:

    INSTALLED_APPS = (
        ...
        'leaf',
        'mptt',
    )
    
  3. 将叶子网址添加到您的 urlpatterns的末尾:

    url(r'^', include('leaf.urls')),
    

用法

django-leaf 可用于呈现“静态”和数据库支持的模板。

静态模板

如果您想在用户访问时呈现模板/example/url/,请创建以下文件之一:

  1. 示例/url.html
  2. 示例/url/index.html
  3. 页面/示例/url.html
  4. 页面/示例/url/index.html

数据库支持的模板

安装 django-leaf 后,管理界面将有一个名为的新部分Pages,您可以在其中创建页面层次结构。

要定义您自己的页面模型,您需要从leaf.models.Page. 有几个字段可用于自定义:

  1. identifier:模型的唯一标识符。这将用于将页面节点与您的页面实现相关联。如果您不提供identifier,将为您提供一个。
  2. 模板:要渲染的模板。
  3. admin_page_inline:内联渲染模板字段时使用的管理类。这默认为 default admin.StackedInline
  4. 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=homeparent=None. 在该目录下添加的所有页面都将home在路径中不包含该部分的情况下添加。

去做

  1. 更好的文档。
  2. 更多配置选项。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django3-leaf-3.0.1.tar.gz (11.4 kB 查看哈希)

已上传 source

内置分布

django3_leaf-3.0.1-py3-none-any.whl (14.6 kB 查看哈希)

已上传 py3