Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用django子域,它表示localhost不属于域example.com_Python_Django_Subdomain_Django Subdomains - Fatal编程技术网

Python 使用django子域,它表示localhost不属于域example.com

Python 使用django子域,它表示localhost不属于域example.com,python,django,subdomain,django-subdomains,Python,Django,Subdomain,Django Subdomains,我使用的是Django包,我认为我没有正确配置它 现在我正试图从数据库加载数据,我在终端中得到了这个错误 主机localhost:8000不属于域example.com,无法识别此请求的子域 我的项目中没有任何引用example.com 这是我的子域配置: ROOT_URLCONF = 'creativeflow.urls' # A dictionary of urlconf module paths, keyed by their subdomain. SUBDOMAIN_URLCONFS =

我使用的是Django包,我认为我没有正确配置它

现在我正试图从数据库加载数据,我在终端中得到了这个错误

主机localhost:8000不属于域example.com,无法识别此请求的子域

我的项目中没有任何引用example.com

这是我的子域配置:

ROOT_URLCONF = 'creativeflow.urls'
# A dictionary of urlconf module paths, keyed by their subdomain.
SUBDOMAIN_URLCONFS = {
    None: ROOT_URLCONF,  # no subdomain, e.g. ``example.com``
    'www': ROOT_URLCONF,
    'blog': ROOT_URLCONF + '.blogs',
}
SITE_ID = 1
中间件:

MIDDLEWARE_CLASSES = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'subdomains.middleware.SubdomainURLRoutingMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
我的网址:

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^posts/(?P<year>\d{4})/(?P<months>\d{2}|\w{3})/(?P<day>\d{2})',
       BlogListView.as_view(paginate_by=25), name="blog-list-view"),
]
urlpatterns=[
url(r“^admin/”,admin.site.url),
url(r'^posts/(?P\d{4})/(?P\d{2}|\w{3})/(?P\d{2}),
BlogListView.as_view(paginate_by=25),name=“blog list view”),
]
我不确定我还需要什么配置来使用/开发子域。我需要更改什么才能访问
BlogListViewhttp://localhost:8000/posts/2016/07/09
?或者更好地通过blog.creativeflow.com/posts/2016/07/09的实际子域
?我怀疑后者只是对windows的一个简单更改,相当于
/etc/hosts/

我需要更改什么才能访问博客列表视图 ? 或者通过实际的 blog.creativeflow.com的子域

我已经用指向不同应用程序和站点的子域设置了我的linode。我通过在“皇帝”模式下配置NGINX-webserver和uWSGI-web-app守护进程来实现这一点

要在本地测试django子域,此问题可能会有所帮助

我需要更改什么才能访问博客列表视图 ? 或者通过实际的 blog.creativeflow.com的子域

我已经用指向不同应用程序和站点的子域设置了我的linode。我通过在“皇帝”模式下配置NGINX-webserver和uWSGI-web-app守护进程来实现这一点


要在本地测试django子域,此问题可能会有所帮助。

为什么要设置
站点ID=1

来自Django文档,用于:

django.contrib.sites注册一个post_migrate信号处理程序,该处理程序在域example.com中创建一个名为example.com的默认站点。这个网站也将在Django创建测试数据库之后创建


您需要为当前站点指定正确的
站点ID

为什么设置
站点ID=1

来自Django文档,用于:

django.contrib.sites注册一个post_migrate信号处理程序,该处理程序在域example.com中创建一个名为example.com的默认站点。这个网站也将在Django创建测试数据库之后创建


您需要为当前站点指定正确的
站点ID

SITE=1
将对应于默认的
example.com
设置

django.contrib.sites注册迁移后信号处理程序,该处理程序使用域example.com创建名为example.com的默认站点。这个网站也将在Django创建测试数据库之后创建

这是存储在数据库中的,因此无法在配置中进行设置

要在数据库中进行设置,请执行以下步骤:

然后,您可以运行生成刚才加载的数据的JSON。然后稍后使用加载。否则,您可以通过网站应用程序下的管理界面进行设置

在修复之前,它将显示为example.org:

改变这些:


这应该可以解决问题。

SITE=1
将对应于默认的
example.com
设置

django.contrib.sites注册迁移后信号处理程序,该处理程序使用域example.com创建名为example.com的默认站点。这个网站也将在Django创建测试数据库之后创建

这是存储在数据库中的,因此无法在配置中进行设置

要在数据库中进行设置,请执行以下步骤:

然后,您可以运行生成刚才加载的数据的JSON。然后稍后使用加载。否则,您可以通过网站应用程序下的管理界面进行设置

在修复之前,它将显示为example.org:

改变这些:


这应该可以解决问题。

你能告诉我这是如何回答问题的吗?我引用了我在OP中回答的问题。@Ankur Gupta你能告诉我这是如何回答问题的吗?我引用了我在OP中回答的问题。@Ankur Gupta引用了“django子域”的文档
确保你已经设置了Django设置文件中的站点ID
。我还应该将其设置为什么?@Pureferret是的,您需要设置
站点ID
,但不一定要设置为
1
。如果您将其设置为
1
,最简单的破解方法是从
example.com
localhost:8000
@AnkurGupta编辑
站点
记录,id=1
,我发现这非常有用。@Pureferret这正是我所说的。抱歉,无法提供示例。很好,事情解决了。。不过,您不一定需要将其存储在夹具中。。只是做shell部分就可以了。老实说,你的答案是这样写的,听起来更像是我需要将
SITE\u ID
更改为2或其他什么,而不是在数据库中以某种方式设置其余的站点数据。但是,谢谢,这让我找到了正确的方向。引用“django子域”的文档
确保您已经在django设置文件中设置了站点ID
。我还应该将其设置为什么?@Pureferret是的,您需要设置
站点ID
,但不一定要设置为
1
。如果您将其设置为
1
,最简单的破解方法是从
example.com
localhost:8000
@AnkurGupta编辑
站点
记录,id=1,我发现这非常有用。@Pureferret这正是我所说的。抱歉,无法提供示例。很好,事情解决了。。不过,您不一定需要将其存储在夹具中。。仅仅做外壳部分就可以像你的answ那样诚实
>>> from django.contrib.sites.models import Site
>>> one = Site.objects.all()[0]
>>> one.domain = 'myveryspecialdomain.com'
>>> one.name = 'My Special Site Name'
>>> one.save()