将第 3 方“用户帐户”应用程序添加到 Wagtail 项目时遇到问题。
大多数第 3 方用户帐户应用程序(例如 django-alluth)需要 django.contrib.sites 作为依赖项。
当我在 INSTALLED_APPS 中包含 django-allauth 依赖项(包括所需的 django.contrib.sites)以及 wagtail.wagtailsite 应用程序时,我遇到了正确加载站点的问题(例如,静态文件无法正确加载)。我无法准确追踪哪些内容加载不正确,但据我所知,这是 wagtail 'sites' 应用程序和 django 'sites' 应用程序之间的运行时冲突。
似乎应该有一种方法让 wagtail 和 django-allauth 并排运行......有没有人让 django-alluth 和 wagtail 一起工作得很好?有可能吗?你需要做什么?
非常感谢 django-alluth 和 Wagtail 一起工作的任何提示或示例。
版本:Django 1.10.1,Wagtail 1.8
编辑:
好的,当我拥有所有 django-allauth 依赖项时,我发现了为什么我的静态文件没有正确加载。看起来我通常被调用的项目 base.html 文件正在被 allauth 包中的 baste.html 取代。我需要防止调用 django-allauth base.html 文件。这是覆盖我通常的 html 部分的 django-allauth base.html:
<!DOCTYPE html>
<html>
<head>
<title>{% block head_title %}{% endblock %}</title>
{% block extra_head %}
{% endblock %}
</head>
<body>
{% block body %}
{% if messages %}
<div>
<strong>Messages:</strong>
<ul>
{% for message in messages %}
<li>{{message}}</li>
{% endfor %}
</ul>
</div>
{% endif %}
<div>
<strong>Menu:</strong>
<ul>
{% if user.is_authenticated %}
<li><a href="{% url 'account_email' %}">Change E-mail</a></li>
<li><a href="{% url 'account_logout' %}">Sign Out</a></li>
{% else %}
<li><a href="{% url 'account_login' %}">Sign In</a></li>
<li><a href="{% url 'account_signup' %}">Sign Up</a></li>
{% endif %}
</ul>
</div>
{% block content %}
{% endblock %}
{% endblock %}
{% block extra_body %}
{% endblock %}
</body>
</html>
我现在要研究如何解决这个问题。如果你知道怎么做,那将是一个可以接受的答案:)