问题标签 [django-sites]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
74 浏览

python - 将 Django 升级到 1.8 会产生不相关的站点框架警告

./manage.py runserver在将 Django 从 1.7 升级到 1.8 后运行时,出现以下警告两次。

.../django/contrib/sites/models.py:78: RemovedInDjango19Warning: Model class django.contrib.sites.models.Site doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.

该项目仍然运行良好,但我想摆脱警告。我没有在我的项目中使用 Sites 框架,但是当我添加'django.contrib.sites'INSTALLED_APPS项目的settings.py. 这样就解决了警告,我很高兴。

但随后项目开始在登录提示时要求数据库中的站点。现在,整件事是我根本不想要站点框架。但是现在我似乎被迫管理一个数据库条目并且需要在安装过程中考虑它,当我只是想摆脱一个警告时。

看来登录代码django.contrib.auth依赖于代码中的它。但是,在 Django 的文档中,我发现了这个断言:“site_name:site.name 的别名。如果您没有安装站点框架,这将设置为 request.META['SERVER_NAME'] 的值。更多关于站点,请参阅“站点”框架。”

因此,似乎django.contrib.authSites 框架的作者认为是可选的,但从我的情况来看,并非如此。

因此我的问题。是否可以在完全不使用 Sites 框架的情况下使用 Django 的(可能是贡献的)身份验证系统,并且仍然摆脱该警告以及与 Sites 框架相关的所有内容?

0 投票
1 回答
162 浏览

django - Django CMS 站点对插件的权限

我有网站和几个子域。比如 www.example.com、www.is.example.com、www.cs.example.com。也可以管理此站点的用户。每个用户可以管理多个站点。我希望每个站点都有自己的插件权限。

我怎样才能实现这个功能?

0 投票
1 回答
557 浏览

python - Django:从 INSTALLED_APPS 中删除 django.contrib.sites 时出错

我想django.contrib.sites从我的django项目中删除。

当我尝试删除时,在启动服务器时出现以下错误:

只有我在项目中所做的修改是,settings.py我添加了以下信息:

在执行以下命令以在管理页面中查看结果后:

现在,当我从设置中删除配置并运行 makemigrations 和 migrate 命令时,出现上述错误。

我正在使用python:3.5Django:1.9使用docker

0 投票
1 回答
409 浏览

python - PyCharm Django 测试运行器看不到 django.sites(运行时错误)

当我运行时manage.py test一切正常,但如果使用 PyCharm Django Tests 运行测试,它会给我以下错误:

是的,我已 'django.contrib.sites' 在 INSTALLED_APPS 中启用并设置了 SITE_ID。

Pycharm Django 测试配置

有任何想法吗?

0 投票
3 回答
1664 浏览

django - Django Migrations ValueError:在 django.db.models.manager 中找不到管理器

我正在尝试从更新Django 1.7Django 1.8

我的一个模型使用CurrentSiteManager如下django.contrib.sites.managers

当我尝试运行迁移(makemigrations 或 migrate)时,我得到:

ValueError:在 django.db.models.manager 中找不到经理 CurrentSiteManagerFromNewsQuerySet。请注意,您需要从使用“from_queryset()”动态生成的管理器继承。

如果我删除on_site经理,一切正常。

任何想法如何克服这个问题?

0 投票
1 回答
56 浏览

python - 为什么夹层中的模板路径不同,渲染的内容不同?

我在夹层中有两个免费主题 -solid & moderna取自 - HERE

我只是想HOST_THEMES运行mezzanine. 所以我继续加载我INSTALLED_APPS喜欢的两个主题 -

在我配置我的代码并运行之后0.0.0.0:8000。然后我像这样在我的HOST_THEMES设置中创建了两个主机

每个人都想知道为什么:8000在我的主机中因为代码中的这一行 -Line 25

如果我不使用端口设置我的主机,则相等性失败。

因此,在此之后,我将逐步调试正在拾取的模板。 主持人和主题在这里很匹配

并且模板目录也选对了: 从我的目录中选择了坚实的主题

正如您在 <code>rendered_content</code> 中看到的那样,您会发现moderna 总是被渲染,因为它在顶部并且 <code>template_name</code> 是 <code>solid</code> 目录中的模板

我到底做错了什么?

0 投票
0 回答
734 浏览

apache - 如何在 Ubuntu 中使用 apache 永久重定向到内部 IP 地址?

我有以下问题:我想将在外部 ip 上收到的任何请求(比如 192.168.xx)重定向到同一台机器的内部 ip,比如 172.0.0.1。内部 ip 已与编辑 hosts 文件的名称相关联,如下所示:

$/等/主机

我希望在请求标头的 HTTP_HOST 字段中包含 www.example.com,而不管请求了哪个外部 ip(为了让 django 站点正常工作,而无需每次都将当前 ip 添加到站点列表中)。因此,我尝试了以下方法:

$/etc/apache2/sites-enabled/000-default.conf

当我尝试从浏览器连接时,重定向似乎在寻找 Web 域而不是本地 IP。我怎样才能解决这个问题?

0 投票
1 回答
326 浏览

django - 如何更改我的 weblate 网站 url

我在某处安装了自己的weblate服务器,然后将我的 nginx 配置切换为域名。我进入了 weblate 的 django 管理员,在站点部分并更新了站点条目以指向正确的位置。

我在 中找不到与此相关的任何内容settings.py。有一个默认站点 id,但它已经设置为 1。

django-sites-更改站点

这样做之后,项目的 url 仍然使用旧的 url。

0 投票
2 回答
90 浏览

django - Django Sites 框架 - 我可以做这些事情吗?

我对站点框架是什么有一个大致的了解,但经过大量研究,我无法确认想要实现的目标是否可行。

这是我想要实现的(简化)。这些将是三个独立的站点 - 以及独立的 Django 项目。这可能吗?

站点/项目 1:Customers.ourdomain.com

  • 该网站管理有关我们客户的一切。
  • 将有一个模型称为Contact存储有关客户的所有信息(姓名、地址、电子邮件等)
  • 具有用于查看Contact模型对象、编辑其详细信息等的视图

站点/项目 2:WorkOrders.ourdomain.com

  • 该站点将管理与工单有关的所有事情
  • 会有一个WorkOrder模型,用于创建/编辑/管理工作订单以进行安装和服务等。
  • 为了为我们的客户创建工作订单,WorkOrder模型需要Customer从其他站点了解模型。工单站点不需要编辑客户的数据——只需要对所有客户都有读取权限

站点/项目 3:Accounting.ourdomain.com

  • 会计网站,用于处理所有会计事项,如发票、应收账款、收入等。
  • 会有一堆与会计相关的模型,比如Invoice,Payment等。
  • 会计站点需要知道和访问(只读)联系站点(以知道向谁开具发票)和所有工单模型中的所有记录以参考使用了多少劳动力和材料来计算金额欠。

所以会有三个独立的站点,每个站点作为一个单独的 Django 应用程序,但是一些模型需要对其他站点可见。

这可能吗?


我们有一些特定的用例原理来分离这样的功能单元。我知道使用单独的应用程序简单得多,但这对我们来说并不理想。

0 投票
2 回答
2310 浏览

python - 是否可以在同一实例上将 Django Sites Framework 与多个站点一起使用?

我已将多个站点定义为建议的站点框架文档。

我知道如果我要运行我的应用程序的多个实例,每个实例都有不同的设置文件(不同的 SITE_ID),Django 将始终知道要使用哪个站点。

我试图做的是运行一个实例,其中有多个站点可用,并且应该根据站点的当前 url 选择正确的站点。

站点文档指出:

SITE_ID 设置指定与该特定设置文件关联的站点对象的数据库 ID。如果省略该设置,get_current_site() 函数将尝试通过将域与 request.get_host() 方法中的主机名进行比较来获取当前站点。

因此,我尝试从我的 settings.py 中删除 SITE_ID,并希望 Django 会检查域以找到如上所述的当前站点,但是这会失败,并出现以下异常:

所以看起来虽然文档另有建议,但这个设置是不可忽略的

我知道,当没有可用于查找当前站点的请求对象时,使用这样的站点框架会导致问题,但这在我的应用程序的上下文中应该不是问题。

是否可以通过仅检查应用程序的当前域来使用站点框架而无需在设置文件中硬编码 SITE_ID?

我正在使用带有 Python 3.4.3 的 Django 版本 1.9.9