Padrões de URL em Django - Combinações diferentes
-
21-09-2019 - |
Pergunta
Estou achando difícil entender o que exatamente é passado para o patterns
Método em Django.
Você vê, eu geralmente tenho meu urls.py
Como:
urlspatterns = patterns('example.views',
(r'/$','func_to_call'),
)
Então em func_to_call
Eu conseguiria tudo o que quero do request
objeto usando request.path
. No entanto, em uma segunda tomada, é realmente horrível que eu esteja ignorando a mancha de Django por uma maneira tão mais longa e menos limpa de analisar - a razão é que não entendo o que fazer!
Digamos que você tenha 3 servidores em que está colocando seu aplicativo Django, todos os quais têm um nome de domínio e alguma variação como server1/djangoApplicationName/queryparams
, server2/application/djangoApplicationName
e server3/queryparams
. O que vai o urlpattern
ser passado? Todo o URL? Tudo após o nome de domínio?
Solução
O urlconf regex vê apenas a parte do caminho do URL, com o slash inicial inicial despojado. Os parâmetros de consulta não são correspondidos pelo URLConf, você os acessa via solicitação.get em sua visualização. Então você pode escrever um padrão como este:
urlpatterns = patterns('myapp.views',
url(r'^myapp/something/$', 'something_view_func')
)
o documentação tem mais exemplos e detalhes.