如何在Wagtail中创建子域?
我在看https://github.com/tkaemming/django-subdomains,但这使用了Django Site框架。
我试过替换
from django.contrib.sites.models import Site
与
from wagtail.wagtailcore.models import Site
然而,wagtail没有属性'get_current'
我该怎么办?这里有解决方案吗?
答案 0 :(得分:2)
我找到答案,我使用django 1.11和wagtail 1.10
和django-subdomain 2.1.0
此时django-subdomain不支持django 1.10> =所以我们需要 更新中间件以与Django 1.10兼容
我只是改变
class SubdomainMiddleware(MiddlewareMixin):
在middleware.py中
try:
from django.utils.deprecation import MiddlewareMixin
except ImportError:
MiddlewareMixin = object
class SubdomainMiddleware(MiddlewareMixin):
django-subdomain使用django-site但wagtail使用wagtail-site 所以我改变了utils.py文件
来自
def current_site_domain():
from django.contrib.sites.models import Site
domain = Site.objects.get_current().domain
到
def current_site_domain():
try :
from wagtail.wagtailcore.models import Site
domain = Site.objects.get(is_default_site=True).hostname
except:
domain = "127.0.0.1"
您可以通过多种方式获取网站域
现在django-subdomain与wigtail一起工作 只需使用http://django-subdomains.readthedocs.io/en/latest/进行配置
我非常糟糕的英语
答案 1 :(得分:1)
对于通配符子域,您必须配置您的Web服务器(nginx,apache等)。对于NGINX,您必须添加
server {
....
server_name *.mydomain.com;
....
}
对于Apache
ServerAlias *.example.com
在您的 your-site.com.conf 文件中。