【发布时间】:2013-03-27 05:27:21
【问题描述】:
我最近在我的 Linux Apache 服务器上安装了 Django Userena。
纠正一些错误后,我开始查看文档。但是,在搜索了文档和多次谷歌搜索之后,我仍然不知道如何更改页面的外观!例如,如何更改登录页面、注册页面等的外观?我知道每个 userena 模板都扩展了 base.html,但是我该从哪里开始呢?
我可能遗漏了一些非常简单的东西,所以如果答案很明显,请原谅我。
【问题讨论】:
标签: django
我最近在我的 Linux Apache 服务器上安装了 Django Userena。
纠正一些错误后,我开始查看文档。但是,在搜索了文档和多次谷歌搜索之后,我仍然不知道如何更改页面的外观!例如,如何更改登录页面、注册页面等的外观?我知道每个 userena 模板都扩展了 base.html,但是我该从哪里开始呢?
我可能遗漏了一些非常简单的东西,所以如果答案很明显,请原谅我。
【问题讨论】:
标签: django
这是 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.html。 signin 视图在名为form 的变量中发送登录表单。你可以看到the source。您可以使用模板上的表单signin.html,例如{{ form.as_p }}。如果您可以关注userena.forms. AuthenticationForm,您还可以单独设置每个字段的格式。再次检查source code。您可以对 Userena 拥有的任何允许像这样覆盖的视图执行相同的操作。
如有疑问,请阅读源代码。 :)
【讨论】:
您需要覆盖userena 默认 templates。
在您的templates/ 中创建一个名为userena/ 的目录,然后例如,如果您想更改signup 表单,在您刚刚创建的userena/ 目录中轻松创建signup_form.html 模板文件并启动写作。
例如这里是默认的signup_form.html 模板。
你可以找到 userena default templates at its github repo
【讨论】:
只需将提供的 userena 模板复制到您的模板目录中即可。
您可以使用find / -name userena 在 linux 机器上找到它们
您要查找的路径是../userena/templates/userena。将 userena 文件夹复制到您的模板目录并开始更改 signin_form.html。
【讨论】:
只需将模板复制到您自己的模板目录即可。如果您按照此link 下载并将目录“userena”复制到您的模板目录中。然后,您可以自定义模板,包括电子邮件文本和模板。
【讨论】: