问题标签 [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.
django - 无法使用 Django 的 JavascriptCatalogView 发送消息
我将 Djnago 与站点框架一起使用。静态根具有以下结构:
- css
- js
- site1.bundle.js
- site2.bundle.js
- site3.bundle.js
当我尝试制作消息 ( python manage.py makemessages -d djangojs -a
) 时,上面的命令仅从 中提取消息site1.bundle.js
并忽略其他文件。
如何从所有 JS 文件中制作单个翻译文件?
django - 迁移文件不会更改站点名称和域
我有这个迁移文件:
如您所见,我创建了一个必须更改django
站点名称和域的功能。但它没有这样做,在应用迁移后我得到相同的默认值:
我不明白为什么,我把sites
迁移作为这个迁移文件的依赖,但它仍然不起作用。
谁能解释我为什么会出现这个错误?
谢谢你。
django - 网站框架如何工作?
我正在尝试开发一个具有类似于站点框架的操作的模型管理器。根据用户的字段,ModelManager 返回一个查询集。我试图模仿站点框架的操作,但我不明白如何使用此函数动态获取 SITE_ID:
它似乎是静态的:/。
我通过中间件捕获用户的字段并将其分配给 request.field。如何在 ModelManager 中检索该字段并执行查询?
django - Django 中多个站点的用户
我试图让多个站点使用相同的数据库和代码,但以强制每个用户对每个站点都有自己的登录的方式。
我已经看到了一些关于如何完成这项工作的建议,但我不确定该走哪条路。
我正在使用站点框架,使用子域来识别当前站点,所以我根本不使用 SITE_ID。
- 使用站点框架- 这个答案(https://stackoverflow.com/a/1405902/1180442)建议使用站点框架来做到这一点,但我在使用 get_user() 方法时遇到了问题,因为它没有访问请求,这就是我的站点信息的存储位置。
- 为用户使用单独的数据库——我真的不确定这个,但我认为它可能会导致更大的问题。
- 更改为使用 SITE_ID - 如果可能,我想尝试避免这种情况,因为这意味着必须运行我的应用程序的许多不同实例,每个站点一个,它使用它自己的 settings.py。我想这很快就会变成一场噩梦。
- 权限- 我想知道这是否应该是我获得权限框架使用的东西?因此,所有站点的一组用户,但每个用户都可以有权查看每个站点,只要他们已在该站点注册?
有人能帮忙吗?
我非常喜欢数字 1 的想法,但我只需要在 get_user() 方法中获取请求,这样我就可以做到这一点
防止登录到一个站点的人能够使用相同的会话登录到另一个站点。
python - Django:使用站点框架的psql应用程序中不存在关系“django_site”
在本地开发数据库从 sqlite 切换到 postgres 后,我无法为我的应用程序运行迁移。
我尝试过的几个修复和方法都没有解决(例如:Django: relationship "django_site" doesn't exist)。
蟒蛇:3.6.3
Django 版本:1.11.9
psql(PostgreSQL):10.1
已安装的应用程序:
在 .env 文件中:
我尝试过的解决方案:
清除所有迁移和迁移文件并运行:
$ ./manage.py makemigrations
然后我尝试了以 django.contrib 开头的应用程序的顺序和手动迁移,例如:
$ ./manage.py migrate sites
(第一的)
然后应用额外的迁移。但无论我如何订购应用程序迁移都不会改变错误或允许迁移完成。
我也尝试过使用--fake-initial
.
看起来它在创建站点模型之前调用了站点对象。
项目/utils/middleware.py:
.pyenv/versions/3.6.3/lib/python3.6/site-packages/django/db/backends/utils.py:
迁移追溯:
./manage.py 显示迁移站点:
管理员回溯:
谢谢
django - 使用电子邮件作为用户名和多个站点的 Django allauth
在多个站点上使用 Django allauth 时,是否可以将身份验证方法设置为“电子邮件”?
我的目标是允许电子邮件地址为 bob@example.com 的用户在 site1.com 上创建一个帐户,并在 site2.com 上创建一个单独的帐户。
为了使用电子邮件身份验证,我需要在设置中将 UNIQUE_EMAIL 设置为 True,但这会阻止已经在一个站点中拥有帐户的用户在另一个站点中创建帐户。
django - 没有 SITE_ID 的 Django 站点框架
使用 SITE_ID 来管理 Django 中的站点框架是否有任何优点/缺点 - 而不是仅依赖主机名并允许 Django 基于此“制定”站点?
我需要在同一个代码库和同一个数据库中提供多个站点,我只是想弄清楚是否需要设置 SITE_ID。
如果我想使用 SITE_ID,我需要为每个站点创建一个 settings.py - 这意味着为每个站点创建一个单独的 Web 服务器 (nginx) 配置和一些相应的 uwsgi 内容。
但理论上,我可以完全取出 SITE_ID,将 nginx 配置指向同一个服务器实例,有 1 个 settings.py 和 get_current_site 将计算出它在运行时运行的站点。
任何一种方式都比另一种更好吗?如果是这样,为什么?!
django - Django:如何拥有多个具有不同默认语言的站点
情况: 我有一个运行多个站点的 Django 实例,每个站点都可以由管理员用户配置(它不使用 Django 管理员,而是我创建的管理员应用程序)。
问题: 问题是每个站点应该有不同的默认语言,并且可以随着时间的推移而更改。
据我所知,我必须在 settings.py 文件中配置默认语言,但随着时间的推移我需要更改它,所以我认为最好的选择是将这个配置保存在数据库中而不是文件中。
我的猜测: 我认为它可以使用(或替换)LocaleMiddleware 来完成,并检查数据库中的语言,但我不知道如何制作这种方法以及它是否是一个好习惯。
我的问题:
- 我可以为数据库中的每个站点配置默认语言吗?
- 替换 LocaleMiddleware 是一个好方法吗?
- 如果没有,我还可以实施什么其他方法?
django - 将当前站点的域添加到模板目录
将额外的特定于站点的模板目录添加到 Django 中的模板目录设置的正确方法是什么?
我显然不能在那里使用 Site.objects.get_current() 。
我可以编写自己的模板加载器来使用它,但那是“正确的”吗?
或者我应该使用设置文件的扩展版本还是什么?
django - 从当前站点获取对象而不使用 settings.SITE_ID
我正在寻找与 CurrentSiteManager 提供的相同功能,但不必像CurrentSiteManager 所要求的那样在 settings.py 中指定 SITE_ID 。有关当前站点的信息应来自请求。我对这个问题的看法是制作一个自定义管理器,但我有什么遗漏吗?这样做的好方法是什么?CurrentSiteManager 应该提供此功能似乎很简单。提交功能请求是否有意义?