跳转到主要内容

基于模板的Django平坦页面应用程序。

项目描述

Build status Code quality Coverage Requirements Version Status License Python versions Django versions

一个基于模板的类似平坦页面的应用程序。与django的平坦页面应用程序不同,django-roughpages渲染一个由访问URL决定的模板文件。当您想要渲染简单的静态页面时,它非常方便。您不再需要为这种简单的静态页面准备urls.pyviews.py

当Django引发Http404异常时,django-roughpages会调用roughpages.views.roughpage视图与访问的URL。该视图会自动从您的模板目录中的roughpages目录中找到相应的模板文件。假设用户访问了http://localhost/foo/bar/hoge/。如果没有与URL匹配的urls模式,django-roughpages将尝试找到相应的模板文件,如templates/roughpages/foo/bar/hoge.html。如果django-roughpages找到了相应的模板文件,它将渲染该模板并返回HttpResponse,否则它将重新引发Http404异常。

您可以复杂地选择相应的模板文件。django-roughpages通过后端系统确定文件名。默认后端是roughpages.backends.AuthTemplateFilenameBackend,它优先于hoge.anonymous.htmlhoge.authenticated.html而不是hoge.html,这取决于访问用户的认证状态。因此,您可以简单地为认证用户准备页面,例如<something>.authenticated.html,为匿名用户准备页面,例如<something>.anonymous.html。请注意,包含'.'的文件名是不允许的,因此用户不能通过如/hoge.authenticated这样的URL访问hoge.authenticated.html,以防止无意中访问文件。

您可以通过创建自定义后端来控制后端行为。要创建自定义后端,您需要继承roughpages.backends.TemplateFilenameBackendBase并重写prepare_filenames(self, filename, request)方法。该方法接收原始文件名和HttpRequest实例,并必须返回一个文件名列表。django-roughpages然后将从列表的起始位置尝试加载模板文件,因此出现的顺序很重要。

文档

http://django-roughpages.readthedocs.org/en/latest/

安装

使用pip如下

$ pip install django-roughpages

用法

配置

  1. roughpages添加到您的设置模块中的INSTALLED_APPS

    INSTALLED_APPS = (
        # ...
        'roughpages',
    )
  2. 添加我们的额外后备中间件

    Django >= 1.10

    MIDDLEWARE = (
        # ...
        'roughpages.middleware.RoughpageFallbackMiddleware',
    )

    Django < 1.10

    MIDDLEWARE_CLASSES = (
        # ...
        'roughpages.middleware.RoughpageFallbackMiddleware',
    )
  3. 在您的模板目录之一中创建roughpages目录,该目录由settings.TEMPLATE_DIRS指定

快速教程

  1. 按照以下方式创建roughpages/foo/bar/hoge.html

    <html>
    <body>
        This is Hoge
    </body>
    </html>
  2. 运行syncdb,并通过python manage.py syncdb; python manage.py runserver 8000启动开发服务器

  3. 访问http://localhost:8000/foo/bar/hoge/,您将看到“这是Hoge”

  4. 按照以下方式创建roughpages/foo/bar/piyo.anonymous.html

    <html>
    <body>
        This is Piyo Anonymous
    </body>
    </html>
  5. 按照以下方式创建roughpages/foo/bar/piyo.authenticated.html

    <html>
    <body>
        This is Piyo Authenticated
    </body>
    </html>
  6. 访问http://localhost:8000/foo/bar/piyo/,您将看到“这是Piyo 匿名”

  7. 访问http://localhost:8000/admin/并作为管理员用户登录。

  8. 访问http://localhost:8000/foo/bar/piyo/,您将看到“这是Piyo 认证”

项目详情


下载文件

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

源分布

django-roughpages-1.0.0.tar.gz (10.3 kB 查看散列)

上传时间

由以下机构支持