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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top