Multi-locação do Django
Tl; dr: existe uma maneira de substituir o comportamento padrão dereverse
?
No meu projeto django, tenho muitos URLs como
url(r'^\w+/company/', include("company.urls", namespace="company")),
O que permite URLs como
.../companyA/company/
.../companyB/company/
Para que eu possa usar um middleware personalizado para modificar a solicitação e incluir alguns detalhes específicos com base em qual empresa está usando meu site
Isso tudo funciona bem, exceto quando o django está tentando decifrar o caminho completo comreverse
e{% url .. %}
...
Parece estar voltando/x/company/
como uma correspondência padrão para a regex. desde odjango.utils.regex_helper
métodonext_char
possui um mapeamento de escape para\w
mapear parax
ourl
tag eu tenho sido capaz desobrepor para substituir o/x/
com o nome correto da empresa e estou me perguntando se há algo semelhante que eu possa fazer para substituirreverse
da mesma maneira, ou qualquer outra coisa que eu possa fazer para resolver esse problema?
Anteriormente, eu estava usando
url(r'^(?P<company_name>\w+)/company/', include("company.urls", namespace="company"))
Mas isso significava que eu tinha que incluir um parâmetro em todas as visualizações
def view(request, company_name):
...
Além de incluí-lo em todas as minhas outras chamadas para a visualização (ou seja, com o{% url %}
) que estou tentando evitar.