问题标签 [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 投票
5 回答
23530 浏览

django - 当我只有一个时,我应该在哪里为我的 Django Sites 框架站点设置域?

我有一个 Django 项目,用于我正在构建的一个简单的博客/论坛网站。

我正在使用联合提要框架,它似乎使用来自站点框架的当前站点的域为提要中的项目生成 URL 。

我以前不知道站点框架。我的项目不会用于多个站点,只会用于一个。

我想要做的是设置domain当前站点的属性。我应该在我的 Django 项目中的哪个位置执行此操作?/settings.py 中的某个地方?

0 投票
1 回答
1795 浏览

database - 每个 django 站点的不同数据库

假设我们有多个站点(使用 Django 的站点框架)在同一个 django 实例上运行。

MyModel.objects.filter(site_id=request.site, slug=slug)[0]将来可能是开销。所以我想知道是否可以拆分此模型的数据库以更快地查询。

所以如果request.site是1,运行

将只查询 db1。

如果request.site是 2,运行

将只查询 db2。

我将从视图的请求参数中获取 request.site,因为站点的值将根据使用的子域动态确定:de、fr 等。

0 投票
2 回答
157 浏览

django - 多站点 Django 部署中的语法案例

我正在部署一个 Django 项目来管理某种事件。单个数据库有两个部署,站点位于斯洛伐克。它们用于名为“Akadémia Trojstenu”和“Klub Trojstenu”的活动。简单的部分是我可以只使用sites框架,相应地为每个站点设置显示名称,并在我需要引用事件名称的模板中使用它。

在您意识到斯洛伐克语使用语法案例之前,这看起来没问题。这意味着,在某些地方我需要写“Program Akadémie Trojstenu”/“Program Klubu Trojstenu”或“Staré Akadémie”/“Staré Kluby”。

例如,考虑以下模板代码:

site.name包含“Akadémia Trojstenu”,但在这种情况下,我需要它输出“Novinky pre Akadémiu Trojstenu”,即第四个语法案例中变量的内容。

我目前看到的唯一方法是对模板中的所有此类事件进行特殊处理,查看当前站点的域并输出名称的正确语法大小写。这种解决方案显然是严重抗 DRY、丑陋并且会吃掉小孩。

有人有更好的建议吗?是否有某种标准解决方案?我想有很多语言使用语法案例,肯定有人在我之前遇到过这个问题。

0 投票
1 回答
100 浏览

python - django 站点名称需要与注册的域名匹配吗?

我是 Django 框架的新手。我创建了一个名为“项目”的站点,它正在本地机器上运行。现在,我正在尝试转到我的测试服务器(“ideometrics.se)”。我创建了一个子域(“project.ideometrics.se”)来从该子域访问此应用程序。我是否必须将我的 django 站点名称更改为“project.ideometrics.se”才能使其在我的服务器上运行?

任何帮助表示赞赏。

0 投票
1 回答
607 浏览

django - 多个 Django 站点的独立 Git 存储库

我正在使用 Django 作为我当前项目(比如项目 A)的开发框架。

我想创建一个与项目 A 具有不同视图的新应用程序(例如项目 B)。但是这个新项目 B 将使用当前项目 A 中的大多数现有后端模块和模型。

这样我的当前项目(项目 A)将托管在 URL http://www.site-one.com上,而新项目 B 将托管在http://www.site-two.com上。关于这一点,我有一个疑问和一个我想问的问题:

怀疑:我选择使用“ Django 站点框架”是否正确?

问题:有什么方法可以将两个 Django 站点(A 和 B)保留在不同的 Git Repo 中,并且仍然可以从当前站点 A 访问模型和其他模块?

0 投票
1 回答
48 浏览

django - 我可以将一个 django 站点放在另一个站点中吗?

我开始分别开发两个站点,但现在我需要将它们合并(所以http://site1.com/site2)指向 site2(它有一个单独的 settings.py)。

我可能会重构代码并使 site2 成为 site1 的应用程序,但我怀疑有一种简单的方法。此外,site2 使用不同的数据库,我不打算混淆这两个数据库......

如果我想使用子域(如 site2.site1.com),它会更容易吗?

有什么建议吗?谢谢。

0 投票
2 回答
821 浏览

django - Django-CMS 多区域多语言子站点

我们必须创建多区域和多语言的网站。例如:

对于多语言,django-cmsi18n_patterns处理得很好。但是当我尝试使用 django 站点框架添加多区域支持时,它无法按预期工作:(。我添加了带有子域的站点:mysite.com/au、mysite.com/vn、mysite.com/us。在 django -cms 管理页面 我已经向站点添加了内容。但是现在我不知道如何配置 url 以匹配站点。

我想拥有http://mysite.com/<region>/<language>/i18n_patterns似乎强制 url 像http://mysite.com/<language>/<region>/. 如何改变这个也

请帮忙

0 投票
2 回答
637 浏览

django - SITE_ID 为 2 的 Django-CMS 2.4 页面仅在您登录后才能找到

我有两个使用 Django-CMS 的站点。它们使用相同的代码和相同的数据库,并SITE_ID加以区分。

在带有 的网站上SITE_ID = 1,一切都很好。

在带有 的网站上SITE_ID = 2,我发布的某些页面(使用管理面板)只有在您登录后才能在该网站上看到。否则他们会给我一个 404 错误,并显示类似的消息

其他页面都可以 - 特别是主页和带有 apphooks 的页面。

如果我设置DEBUG = False,我的所有网站页面都会出现 404 错误!

这发生在产品和我的开发服务器上。事实上,它甚至发生在我刚刚创建的一个完全普通的测试站点上。

我没有为任何页面选择“需要登录”。

如何使页面对所有人可见?

版本信息:我正在使用 Django-CMS 2.4.1 和 Django 1.5.1。我还将它们升级到 mptt 0.5.5,尽管 Django-CMS 专门只安装 mptt 0.5.2(请参阅这篇文章了解原因)。但是,当我在我的开发服务器上重新安装 mptt 0.5.2 时,问题仍然存在。

0 投票
1 回答
71 浏览

django - Django 站点框架,为敏感 url 创建主从逻辑

我有两个使用相同数据库和模块的 Django Web 应用程序,我的问题是,我希望其中一个网站充当主站点“A”(例如,用于安全身份验证,因为只有站点 A 将在 https 方案下,请注意您的“B”在“A”的子域下,因此不涉及真正的跨域问题,因为我在设置文件之间共享密钥)。

到目前为止,我已经设置了 Django 站点框架,因此我的主“A”站点配备了自己的设置和 urls 模块,我的辅助(从)站点“B”也是如此。

现在我将如何继续实现一种从“B”代理需要 https 的 url 的方法,而不是一遍又一遍地重复我自己,请注意我使用 i18n 模式。

所以基本上我需要一种方法让我的应用程序告诉我的“登录”网址urls_site_b应该代理到“登录”中urls_site_a,然后在成功后返回站点 B(例如使用下一个参数)。

我正在考虑代理中间件,但这并不能解决识别应该链接哪些网址的部分。我想到了一个常量设置,它包含一个应该被代理的 url 列表。然而,这样的编程需要一些时间,我宁愿在继续之前有一些建议。

同样在我的模板(也是共享的)中,我会使用{% url %}标签,这可能是一个问题,因为标签无法解析正确的 url,因为它只在属于当前站点的 urls 模块中查找。

0 投票
2 回答
4564 浏览

python - django.contrib.sites.models.Site 将 example.com 作为服务器 url

我想在 django 中获取服务器 url。所以我浏览了stackoverflow,发现为了做到这一点,我必须执行以下操作:

我在生产服务器中尝试了上述内容python manage.py shell,并期望 mysite 给我生产服务器的 url,但它给了 example.com

我错过了一些配置还是什么?