问题标签 [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.
python - 如何在 django 站点框架中为 www 和 root 使用单个站点
我目前只有一个站点,但我想扩展到多个站点以在 django 中使用。
目前,我的 django_sites 表中必须有两个条目用于我的单个站点:
现在我想要拥有多个站点,每个子域拥有多个条目不再可行,因为我想创建与站点关联的对象的多对多关系。
如何在每个站点使用单个 www 和根域而不是两个?
python-3.x - 将 django 用户链接到站点框架中的特定站点
我已经在我的项目中设置了 Django 站点框架,实际上,我想将 Django 用户结合到该特定站点
我想要实现的是,当用户从特定站点或向站点框架注册的子站点注册时,该用户必须链接到该特定站点,以便我们可以限制用户使用其关联站点凭据登录到另一个站点。
django - Django 站点 + ALLOWED_HOSTS
我正在实现一个 django 多站点门户。我正在调查它,当我尝试访问我在站点模型中注册的站点域时,我得到一个“无效的 HTTP_HOST 标头”异常。是否也需要在 settings.ALLOWED_HOSTS 中设置 url?
django - Django 设置 - 从管理员自定义每个站点的属性
我正在使用 django 站点框架。
我有一个带有 OneToOneField 到站点模型的模型。这样,管理员用户可以从管理面板自定义每个站点属性。
其中一些字段实际上是应该在设置文件中使用的值,例如 EMAIL_HOST_USER。
如何在自定义站点的设置文件中使用这些值?这是正确的方法吗?
mysql - 第1146章
我正在使用 Django 1.11 来制作应用程序“cnfs”,并且我正在使用 MYSQL 数据库。我经常遇到这个问题,当我输入以下代码时,我会收到这样的错误:
系统检查发现了一些问题: 警告:?:(mysql.W002)MySQL 严格模式未设置为数据库连接“默认”提示:MySQL 的严格模式通过升级警告修复了 MySQL 中的许多数据完整性问题,例如插入时数据截断进入错误。强烈建议您激活它。请参阅:https ://docs.djangoproject.com/en/1.11/ref/databases/#mysql-sql-mode 要执行的操作:应用所有迁移:admin、auth、cnfs、contenttypes、sites 运行迁移:没有要应用的迁移。回溯(最近一次调用):文件“manage.py”,第 22 行,在 execute_from_command_line(sys.argv) 文件“/home/ubuntu/.local/lib/python2.7/site-packages/django/core/management /初始化.py”,第 363 行,在 execute_from_command_line utility.execute () 文件“/home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/init.py”,第 355 行,在执行 self.fetch_command(subcommand).run_from_argv(self.argv) 文件“/home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/base. py”,第 283 行,在 run_from_argv self.execute(*args, **cmd_options) 文件“/home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/base.py”中,第 330 行,在执行输出 = self.handle(*args, **options) 文件“/home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/commands/migrate.py”,第 227 行,在句柄 self.verbosity、self.interactive、connection.alias、apps=post_migrate_apps、plan=plan、文件“/home/ubuntu /.local/lib/python2.7/site-packages/django/core/management/sql.py”,第 53 行,在 emit_post_migrate_signal **kwargs 文件“/home/ubuntu/.local/lib/python2.7/site -packages/django/dispatch/dispatcher.py”,第 193 行,在 self._live_receivers(sender) 文件“/home/ubuntu/.local/lib/python2.7/site-packages/django/contrib/sites/management.py”,第 20 行,如果不是 Site.objects.using(using).exists(),则在 create_default_site 中:文件“/home/ubuntu/ .local/lib/python2.7/site-packages/django/db/models/query.py”,第 670 行,存在返回 self.query.has_results(using=self.db) 文件“/home/ubuntu/. local/lib/python2.7/site-packages/django/db/models/sql/query.py",第 517 行,在 has_results 中返回 compiler.has_results() 文件"/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/sql/compiler.py”,第 845 行,在 has_results 返回 bool(self.execute_sql(SINGLE)) 文件“/home /ubuntu/.local/lib/python2.7/site-packages/django/db/models/sql/compiler.py",第 886 行,在 execute_sql 中引发 original_exception django.db.utils.ProgrammingError: (1146, "Table ' cnfs.django_site' 不存在")在 has_results 返回 bool(self.execute_sql(SINGLE)) 文件“/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/sql/compiler.py”,第 886 行,在 execute_sql引发 original_exception django.db.utils.ProgrammingError:(1146,“表 'cnfs.django_site' 不存在”)在 has_results 返回 bool(self.execute_sql(SINGLE)) 文件“/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/sql/compiler.py”,第 886 行,在 execute_sql引发 original_exception django.db.utils.ProgrammingError:(1146,“表 'cnfs.django_site' 不存在”)在 execute_sql 中引发 original_exception django.db.utils.ProgrammingError:(1146,“表 'cnfs.django_site' 不存在”)在 execute_sql 中引发 original_exception django.db.utils.ProgrammingError:(1146,“表 'cnfs.django_site' 不存在”)
我确实在这上面花了几天时间,当我使用默认的 django 数据库引擎 sqlite3 时,我没有遇到这个问题。我试过这样做:$python manage.py migrate sites
我的 SITE_ID 设置设置为 1。我尝试从 INSTALLED_APPS 设置中删除“django.contrib.sites”,但这会引发此错误:
内部服务器错误:/ Traceback(最近一次调用最后一次):文件“/home/ubuntu/.local/lib/python2.7/site-packages/django/core/handlers/exception.py”,第 41 行,在内部响应中= get_response(request) 文件“/home/ubuntu/.local/lib/python2.7/site-packages/django/utils/deprecation.py”,第 138 行,调用中 response = self.process_request(request) 文件“/home/ubuntu/.local/lib/python2.7/site-packages/subdomains/middleware.py”,第 62 行,在 process_request super(SubdomainURLRoutingMiddleware, self).process_request(request )文件“/home/ubuntu/.local/lib/python2.7/site-packages/subdomains/middleware.py”,第38行,在process_request(self.get_domain_for_request(request),request.get_host())文件“ /home/ubuntu/.local/lib/python2.7/site-packages/subdomains/middleware.py”,第 31 行,在 get_domain_for_request 返回 get_domain() 文件“/home/ubuntu/.local/lib/python2.7/site-packages/subdomains/utils.py”,第 12 行,在 current_site_domain 从 django.contrib.sites.models 导入站点文件“ /home/ubuntu/.local/lib/python2.7/site-packages/django/contrib/sites/models.py”,第 84 行,在类站点(models.Model)中:文件“/home/ubuntu/.local /lib/python2.7/site-packages/django/db/models/base.py”,第 118 行,在新的 “INSTALLED_APPS”。% (module, name) RuntimeError: Model class django.contrib.sites.models.Site 没有声明明确的 app_label 并且不在 INSTALLED_APPS 的应用程序中。
任何建议将不胜感激。
谢谢。
python - 保持用户跨站点登录
我正在使用 Django Sites 框架来处理不同的站点。他们有不同的域,但相同的数据库和相同的用户。
我想添加一个链接以在我的站点之间切换。问题是我不想被重定向到登录表单。实现这一目标的最佳方法是什么?
是否可以构建一个将用户记录到目标站点然后重定向到它的视图?
要使用身份验证()和登录(),我必须传递用户凭据和当前请求......也许如果我在重定向之前向目标站点的登录视图发送一个发布请求?
django - 如何使用站点框架在 Django 表单中使用当前站点作为默认站点?
我正在使用站点框架并希望将当前站点保存site
为我的模型之一的默认值。
模型:
有没有办法自动将当前Site
对象保存为我保存实例site
的任何时候的属性?或者我是否需要通过覆盖表单或模型的方法(或类似的覆盖)手动执行此操作?MyModel
MyModel
save
django - Django:使用站点框架包含多个 settings.py 文件(或包含动态 SITE_ID)的正确方法是什么?
我在生产中的 Django 站点上收到此错误:
您在没有设置 SITE_ID 设置的情况下使用 Django“站点框架”。在您的数据库中创建一个站点并设置 SITE_ID 设置或将请求传递给 Site.objects.get_current() 以修复此错误。
这个问题已经在这里提出,但接受的答案建议runserver
在生产中使用。
这里也有人问过,但接受的答案是不可思议的。
我尝试将以下内容添加到我的settings.py
文件中,但它会引发错误:
错误是:
django.core.exceptions.ImproperlyConfigured:SECRET_KEY 设置不能为空。
...但我确实设置了 SECRET_KEY 设置。
遵循Django 文档在同一台服务器上为多个站点提供服务的正确方法是什么?
django - 有没有办法在 Django Sites Framework 中将 ForeignKey 添加到 Site 模型?
这个答案显示了我正在寻找的相反,因为它允许一个Site
人拥有许多Asset
对象:
有没有办法将 ForeignKey 字段添加到Site
模型中,这样一个人Asset
就可以有很多Site
对象?像这样的(非工作)代码:
我知道我可以使用 aManyToManyField
但在我的情况下,一个Site
对象永远不会有多个Asset
对象。
django - 仅允许站点 id 1 上的 django 管理员
我只想显示 id 为 1 的站点的管理员。在其他视图中,我已经在 中定义了这个dispatch
,但我还没有找到为管理员执行此操作的方法。
我尝试制作一个自定义管理类,但我也没有看到这样做的方法。
有没有办法dispatch
为管理员定义或限制管理员显示的站点?
我正在使用的调度: