根据每个用户/客户机定制主题(css和模板)

django-pimpmytheme的Python项目详细描述


https://travis-ci.org/novafloss/django-pimpmytheme.png?branch=master

每个客户端/用户/任何django模板和静态主题。

为什么

当需要使用基于模型的自定义模板和/或样式时 在你的应用程序中(网站、用户等)。

PimpMyTheme将为每个“客户机”创建一个文件夹(客户机可以是 用户、站点或实现get-current方法的所有内容(请参见 下面)。它还可以用于同一时间的多个项目 时间。这些文件夹位于 pimpmytheme目录。你的设计师可以拉/推这个 用于编辑所有项目在 同一个存储库!

如何

在自定义模板加载程序和静态文件加载程序的帮助下, pimMyType加载自定义模板和静态文件,如果它们存在 对于当前对象。

安装

$ pip install django-pimpmytheme

配置

在您的INSTALLED_APPS

中添加pimpytheme
INSTALLED_APPS=('pimpmytheme',...)

将pimpytheme staticfiles\u finder添加到STATICFILES_FINDERS

STATICFILES_FINDERS=("pimpmytheme.static_finder.CustomFinder","django.contrib.staticfiles.finders.AppDirectoriesFinder",)

将自定义模板加载程序添加到TEMPLATE_LOADERS

TEMPLATE_LOADERS=('pimpmytheme.template_loader.Loader','django.template.loaders.app_directories.Loader',)

最后,您需要一个具有“get current”方法的模型。获取当前信息 将返回负责自定义的对象。例如,你 可以使用django.contrib.sites.site模型自定义项目 每个站点:

CUSTOM_THEME_LOOKUP_OBJECT="django.contrib.sites.models.Site"CUSTOM_THEME_LOOKUP_ATTR="name"

然后选择将存储自定义设置的目录路径。 这一定是一条绝对的道路。

PIMPMYTHEME_FOLDER="/home/user/myproject/custom_statics"

您可以在这里停止配置,它将工作,静态文件将 通过collectStatic命令在静态根目录中收集。

如果要进一步配置,可以设置 collectStatic将在其中复制资产的目录名 命令。它将是django_settings的子文件夹。static_root:

PIMPMYTHEME_FOLDER_NAME='pimp_theme'

然后告诉compressor使用pimpmytheme的过滤器来建立到您的资产的链接:

STATICFILES_FINDERS=("yourapp.your_finder.PrefixedFinder","django.contrib.staticfiles.finders.AppDirectoriesFinder",)COMPRESS_CSS_FILTERS=['pimpmytheme.filters.PrefixedCssAbsoluteFilter']

命令

要创建自定义所需的文件夹,可以运行 pimpmytheme提供的管理命令:

$ python manage.py create_folders

在自定义表单中,您将获得一个名为项目的文件夹 名字。在这个文件夹里你会得到和你一样多的文件夹 自定义模型对象。如果你使用这个网站,你会得到一个 example.com文件夹。

您还将找到一个静态文件夹,其中包含一个空的custom.less文件。 为了你的方便。您可以开始编辑此文件以自定义 你的风格。

您还可以在静态文件夹旁边创建一个模板文件夹,并将 其中有些自定义模板。

pimpmytheme模板加载程序将首先在此目录中查找 加载模板文件。如果找不到它,它会落在Django上 模板加载程序

如果您的主题位于git repo中,请添加设置:

PIMPMYTHEME_GIT_REPOSITORY='git@github.com:foo/your_pimp_folders.git'

并运行有用的命令将它们拉入pimpmytheme_文件夹:

$ python manage.py update_themefolder_from_git

模板标记系统

使用django pimpmytheme,您可以获得一个模板标记系统来管理自定义 媒体(css、js和图片)。

此模板系统确保当前媒体存在自定义媒体 定制。你可以得到一堆css/js/img 客户端和django pimpmytheme将只为 当前的自定义项。

然后可以使用资产管理、压缩器等 文件夹。

要使用templateTags,请首先将其加载到模板上:

{%loadpimptheme%}

然后使用pimp_css、pimp_js或pimp_img加载您的资产:

<img src="{%pimp'myimage.jpg'%}" alt="Hello" style="opacity:0.8;">
{%pimp_css'custom.css'%}{%pimp_js'javascript.js'%}{%pimp_img'myimage.jpg'%}

感谢@leotrouvtou帮助查找项目名称。

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

推荐PyPI第三方库


热门话题
并行处理java。util。同时发生的叉子在游泳池里。常见的并行性准则,用于选择正确的并行度大小   java如何将空白字符追加到指定长度?   安卓应用程序中出现错误,SSLHandshakeException,找不到证书路径的信任锚点   java如何使用JUnit Mockito验证检查方法是否未被调用   java如何使用不同的@RequestMapping解析多个控制器中的静态页面   Selenium中的javascript需要验证搜索结果   访问数据库SQLiteopenHelper方法时java应用程序崩溃(nullpointerexception)   在二叉树中验证最小堆时出现java空指针异常   Java 7的SSL连接失败   java用RestEasyWebTarget替换ProxyFactory不起作用   在Java应用程序中单击“否”按钮后,数组程序冻结(无响应)   数组中的前缀Java初学者前进和   Java HTML解析器,包括脚本标记和LineNumberReader   在java中为长类型数字加前导零   正则表达式无法映射正则表达式java。lang.IllegalArgumentException:模式段中捕获组的数量