相关疑难解决方法(0)

Django 多租户

; 博士:有没有办法覆盖的默认行为reverse

在我的 Django 项目中,我有很多网址,例如

 url(r'^\w+/company/', include("company.urls", namespace="company")),
Run Code Online (Sandbox Code Playgroud)

这允许网址,如

.../companyA/company/
.../companyB/company/
Run Code Online (Sandbox Code Playgroud)

这样我就可以使用自定义中间件来修改请求,以根据使用我的网站的公司来包含一些特定的详细信息

这一切都很好,除了当 django 试图用reverse和破译完整路径时{% url .. %}......

它似乎/x/company/作为正则表达式的默认匹配返回。因为该django.utils.regex_helper方法next_char具有用于\w映射到的转义映射x

url我已经能够覆盖的标签替换为/x/正确的公司名称,我想知道是否有类似的事情我可以以reverse相同的方式覆盖,或者我可以做些什么来解决这个问题?

以前,我正在使用

url(r'^(?P<company_name>\w+)/company/', include("company.urls", namespace="company"))
Run Code Online (Sandbox Code Playgroud)

但这意味着我必须在每个视图中包含一个参数

def view(request, company_name):
    ...
Run Code Online (Sandbox Code Playgroud)

以及将它包含在我{% url %}试图避免的所有其他视图调用中(即使用)。

python django django-urls

1
推荐指数
1
解决办法
1982
查看次数

标签 统计

django ×1

django-urls ×1

python ×1