【问题标题】:Django Userena CustomizationDjango Userena 自定义
【发布时间】:2013-03-27 05:27:21
【问题描述】:

我最近在我的 Linux Apache 服务器上安装了 Django Userena。

纠正一些错误后,我开始查看文档。但是,在搜索了文档和多次谷歌搜索之后,我仍然不知道如何更改页面的外观!例如,如何更改登录页面、注册页面等的外观?我知道每个 userena 模板都扩展了 base.html,但是我该从哪里开始呢?

我可能遗漏了一些非常简单的东西,所以如果答案很明显,请原谅我。

【问题讨论】:

    标签: django


    【解决方案1】:

    这是 Userena(source) 的 signin 方法签名 -

    def signin(request, auth_form=AuthenticationForm,
           template_name='userena/signin_form.html',
           redirect_field_name=REDIRECT_FIELD_NAME,
           redirect_signin_function=signin_redirect, extra_context=None):
    

    如您所见,有一个template_name 方法保存模板位置。您可以覆盖它。在您的urls.py 中,您可以像使用它一样 -

    url(r'^signin/', 'userena.views.signin', {'template_name': 'signin.html'}, name="signin"),
    

    然后您可以在您的templates 文件夹中创建signin.html 页面并扩展base.htmlsignin 视图在名为form 的变量中发送登录表单。你可以看到the source。您可以使用模板上的表单signin.html,例如{{ form.as_p }}。如果您可以关注userena.forms. AuthenticationForm,您还可以单独设置每个字段的格式。再次检查source code。您可以对 Userena 拥有的任何允许像这样覆盖的视图执行相同的操作。

    如有疑问,请阅读源代码。 :)

    【讨论】:

    • 非常彻底和乐于助人。谢谢!
    【解决方案2】:

    您需要覆盖userena 默认 templates

    在您的templates/ 中创建一个名为userena/ 的目录,然后例如,如果您想更改signup 表单,在您刚刚创建的userena/ 目录中轻松创建signup_form.html 模板文件并启动写作。

    例如这里是默认的signup_form.html 模板。

    你可以找到 userena default templates at its github repo

    【讨论】:

      【解决方案3】:

      只需将提供的 userena 模板复制到您的模板目录中即可。

      您可以使用find / -name userena 在 linux 机器上找到它们

      您要查找的路径是../userena/templates/userena。将 userena 文件夹复制到您的模板目录并开始更改 signin_form.html

      【讨论】:

        【解决方案4】:

        只需将模板复制到您自己的模板目录即可。如果您按照此link 下载并将目录“userena”复制到您的模板目录中。然后,您可以自定义模板,包括电子邮件文本和模板。

        【讨论】:

          猜你喜欢
          • 2011-10-12
          • 2013-02-04
          • 2012-09-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多