django的一个基于模板的类似flatpage的应用程序。

django-roughpages的Python项目详细描述


Build statusCode qualityCoverageRequirementsVersionStatusLicensePython versionsDjango versions

基于flatpages类应用程序的模板。 与django的flatpages应用不同,django roufpages呈现的模板文件 根据访问的URL确定。 当您想要呈现简单的静态页面时,它是非常组合的。 您不需要再为这种类型准备urls.pyviews.py。 简单静态页面。

django roughpages使用访问的 当django引发Http404异常时的url。 视图自动从^{tt5}中找到相应的模板文件$ 一个模板目录中的目录。 假设用户访问了http://localhost/foo/bar/hoge/。 如果没有用url修补的url模式,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粗页然后尝试从 名单,因此出现的顺序是问题。

安装

使用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并启动development server python manage.py syncdb; python manage.py runserver 8000

  3. 进入http://localhost:8000/foo/bar/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 Anonymous”

  7. 访问http://localhost:8000/admin/并以管理员用户身份登录。

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

注意

URL最后一部分中的任何点('.')都被替换为下划线(''''),以防止安全风险。 见https://github.com/lambdalisue/django-roughpages/issues/3

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法找到或加载主异常   javajenkins堆空间   java JVM不在服务器中进行昼间更改   java让事务在App Engine读写中包装每个数据存储事件是否存在性能风险?   java修改位图后,如何修改“修改过的”位图等?   java我可以使用Hibernate注释自动将枚举集映射到一系列布尔列吗?   如何从另一个类访问变量?索爱手机应用开发职位   java优化屏幕从手机大小到平板电脑大小安卓开发   Spring JPA中的java删除实体   如何在不部署带有更改的新服务并终止旧服务的情况下更改live Java web服务?   java如何设置jTextField剪辑超长文本的位置?   javascript Java替代“谷歌代码美化器”   java如何使链接重定向到servlet?   java如何让glassfish 4和jsf中的websocket正常工作?   java为什么Gson在字符串中添加斜杠   java隐式类型转换不适用于方法参数?   java XML到JSON丢失根节点   java无法更改应用程序主题设置:(   java在多个类中使用自定义异常