问题标签 [django-hosts]
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 - 特定于主机的请求会中断不相关的测试用例
我有以下测试:
TestA
并TestB
成功运行,但 TestC 中断
但是当我注释掉 TestB 时,TestC 工作!我该如何解决这个问题?
我正在使用具有以下配置的 django-hosts:
和相当简单的 URL 文件:
作为参考,这里是完整的项目。
django - django.core.exceptions.ImproperlyConfigured:无法加载 WSGI 应用程序“netfacer.wsgi.application”;导入模块出错
我只是 django 的初学者。我尝试通过此链接创建子域。当我运行我的项目时,它显示以下错误
django.core.exceptions.ImproperlyConfigured:无法加载 WSGI 应用程序“netfacer.wsgi.application”;导入模块时出错。
我的设置.py
主机.py
上面链接中的文档也让我感到困惑
django - 尝试访问 api 时,Django_hosts 集成会产生“NoReverseMatch at /en/api/”
我正在集成 Django_hosts。我的前端 URL 和管理 URL 已成功集成并正常工作,但由于此错误,我的 REST API URL 仍然无法访问:
该错误被追溯到 Django/urls/base.py,但我不确定是什么触发了它:
这些是我的 hosts.py 和 api_urls.py 文件:
此外,在尝试转换此 url 时,用一块石头杀死两只鸟:
到这个网址:
它没有抛出没有参数的 NoReverseMatch 错误,就好像忽略了参数一样。
任何了解此软件包或这些问题的人的任何帮助将不胜感激。
谢谢。
更新
我通过在 api_urls.py 文件中包含 admin.site url 解决了这个错误:
但是,现在我遇到了一些奇怪的事情,这并不完全是一个错误,但对于我的用例来说实际上是一个错误。API 似乎不再识别 request.user,因此即使用户登录,API 也认为他是 AnonymousUser。
*API 和 Admin 子域均无法识别登录用户。似乎与SESSION cookie有关...
django - 如何将模板标签从普通 django 转换为一个 django-hosts 使用
我刚刚添加了 django-hosts 来为我的网站设置子域,效果很好。下一步只是将我模板中的所有普通 django URL 转换为一个 django-hosts 之类的。
我知道如何链接页面,但是一旦我需要向我的 URL 添加变量,我就不确定如何为其构建代码。
正常的 django URL 有效
如何将其转换为 django-hosts 喜欢的 URL?我尝试了以下方法:
主机.py
golemstats.urls
django - Django2:如何与 localhost:8000 和子域 analysis.localhost:8000 共享“request.user”?
我正在使用 Django 构建一个博客,并且我已经实现了一个分析工具,它允许我绘制关于我的访问者的详细信息(国家来源、设备、浏览器......)。
analysis.localhost:8000是localhost的子域,定义为具有自定义 Mixin SuperuserAccessRequired的基于类的视图,如果用户不是员工,则返回401 Unauthorized(我正在使用django-hosts处理子域,这是我第一次使用子域。)。
我的问题:
如果我登录localhost:8000并导航到analysis.localhost:8000我得到401 响应。
我谦虚的假设说localhost:8000和x.localhost:8000没有共享某些变量。
我该如何解决这个问题,我已经阅读了 5 次 django-hosts 文档,但我似乎找不到我所缺少的
我的代码:
项目/根/settings.py
项目/根/hosts.py
自定义混音:
更新
如果我从analysis.localhost中删除端口号,我会被重定向到 Apache 默认页面……很奇怪。(只是忽略这个更新,我忘记了 /etc/hosts,伙计,我正在失去它)
更新 2
深入研究这件事,看来我必须重写我的 SessionMiddleware。
任何帮助/指导将不胜感激。
python - 如何使用 django-hosts 子域和 DRF 登录 API 级别
我正在使用django-rest-framework (DRF) 来拥有一个可浏览的 API,该 API 应在api
子域下可用,例如api.localhost:8000
. 为了服务子域,我使用django-hosts。我无法在 API 级别(即在api
子域下)实现登录和注销功能。
子域工作,但我不能让 DRF autentication 机制工作了。
问题
访问api.localhost:8000/
显示了可浏览的 api 页面,这很好。DRF 登录按钮也可用。使用此按钮显示登录表单,但在提交表单时,我被重定向到http://login/
当然无法解析的表单,因此登录失败。这同样适用于注销功能,这会导致http://logout/
并且也会失败。以下是这些步骤的屏幕截图。
Django 设置
django-hosts 配置
网址配置
我对此不满意,但即使我在另一个子域中提供它,而不添加path("", admin.site.urls)
到根 url conf 中,我总是得到'admin' is not a registered namespace
. 出于同样的原因,我rest_framework.urls
在这里包括,否则命名空间rest_framework
没有注册。
为了使用DRF认证机制和Log in
andLog out
按钮,我rest_framework.urls
在之前注册的namespace下包含了。之后,通常的应用程序 url 将包含users
在下面的屏幕截图中,它们路由 API 端点。
截图
访问api.localhost:8000/
显示可浏览的 api 页面。
使用Log in
按钮重定向到http://api.localhost:8000/login/?next=/
哪个很好。
但是在提交表单后,我被重定向到http://login/
当然无法解决的问题,因此登录失败。这同样适用于注销功能,这会导致http://logout/
并且也会失败。
如何修复身份验证机制以在 API 级别上工作?
python - 如何在 Nginx 中使用 django-hosts
我创建了一个 Django 应用程序,它有两个名为“api”和“consumer”的应用程序。现在我想为这两个应用程序使用子域。像api.server.com和server.com。我在网上搜索并找到了 django-hosts,所以我在我的 localhost 中实现了它并且工作正常。
之后,我将它部署在 AWS EC2 实例上并在 Godaddy 中创建子域,并将根域和子域都指向我的实例 IP。根域工作正常,但是当我尝试访问api.server.com时,它显示了默认的 Welcome to Nginx屏幕。请帮我解决这个问题。
nginx.conf
python - django-hosts - 如何管理子域 .django.urls.exceptions.Resolver404 中的无效 url?
我已经在我的系统中实现了 django-hosts 库。当我访问我域中的无效 URL 时,它将显示 404 页面并且一切正常。但是当我在我的子域中访问一个无效的 URL 时,它会引发 500 错误不去或 404。
基础.py
主机.py
api.urls.py
当我请求http://api.mydomain.com/favicon.ico时,它显示
如何处理子域中的无效 URL 请求?
django - django_hosts - NoReverseMatch:找不到“家”的反向。'home' 不是有效的视图函数或模式名称
我已按照此文档成功安装了 django_hosts 。
我现在可以成功访问https://blog.mysite.com 之类的页面
但是,页面上的 url没有正确解析。我遵循了django_hosts 官方文档中显示的示例。
这是我的设置的样子:
我的网站/urls.py
主页/urls.py
博客/模板/index.html
[[ 编辑 ]]
实际demo上传到github
django - 不同应用的不同扩展
我正在尝试为所有应用程序创建一个模板,但具有不同的基础(与应用程序相关)。
我正在使用 django_hosts:
主机.py:
树:
模板/document.html:
这个想法是:
当我去时,http://app1.example.com/document/
我会看到templates/document.html
扩展名app1/templates/app1/base.html
,如果我去http://app2.example.com/document/
或http://application2.example.com/document/
扩展名app2/templates/app2/base.html
一般来说,如果我在
app1/views.py:
应用程序2/views.py:
但我想从每个视图的 def 中删除上下文“基础”。
我不能使用app1/context_processors.py
and app2/context_processors.py
,因为它会覆盖自己,因为 context_processors 是全局的而不是应用程序本地的。
有个想法:
但我没有包含包含的 urls.py,因为我有主机定义....