Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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中的站点系统问题_Python_Django_Django Views_Django Sites - Fatal编程技术网

Python Django中的站点系统问题

Python Django中的站点系统问题,python,django,django-views,django-sites,Python,Django,Django Views,Django Sites,我对Django的站点系统有问题。我的问题是,在开发服务器初始加载时,在某些页面上运行Site.objects.get_current()时,我会收到一个异常,说站点匹配查询不存在。但是,如果我加载了站点的主页,它加载得很好,那么我可以返回到任何其他页面,但出现异常,它们也可以正常加载 以前有人遇到过这个问题吗 谢谢 Nick将站点ID=1添加到您的设置.py, 然后运行python manage.py syncdb创建相应的表,如果不存在,这将起作用 然后,您可以登录到您的管理站点: 单击Si

我对Django的站点系统有问题。我的问题是,在开发服务器初始加载时,在某些页面上运行
Site.objects.get_current()
时,我会收到一个异常,说
站点匹配查询不存在。
但是,如果我加载了站点的主页,它加载得很好,那么我可以返回到任何其他页面,但出现异常,它们也可以正常加载

以前有人遇到过这个问题吗

谢谢


Nick

站点ID=1
添加到您的设置.py, 然后运行
python manage.py syncdb
创建相应的表,如果不存在,这将起作用

然后,您可以登录到您的管理站点:
单击
Site
将defalut
example.com
修改为您的,这在您编辑对象时使用,如果您在模型中定义了
get_absolute\u url
函数,它将提供一个
View on site
按钮。py

get_current
查看当前主机名,并检测您是否有具有匹配域名的
site
对象

也许在开发中您正在使用
localhost
或类似的东西。您需要创建一个具有相同域名的
站点
对象,也就是说,可以通过类似这样的方式添加到迁移中:

if settings.DEBUG:
    development_site_domain = 'localhost'  # Or whatever yours is.
    Site.objects.create(
        name=development_site_domain, 
        domain=development_site_domain)
对于通过访问应用程序的任何FQDN,数据库中必须有一个
Site
对象。您还需要在
允许的\u主机设置中包含FQDN

另一种方法是设置
SITE\u ID=1
(或数据库中现有
SITE\u ID
的任何pk)。这里的缺点是,如果您在生产中使用动态
站点ID
,则您的服务器在本地和服务器上的响应将不同