Patterns URL in Django - diverse combinazioni
-
21-09-2019 - |
Domanda
sto trovando difficile capire che cosa esattamente è passato al metodo patterns
in Django.
Si vede, di solito ho il mio urls.py
come:
urlspatterns = patterns('example.views',
(r'/$','func_to_call'),
)
Poi nel func_to_call
che avrei avuto tutto quello che voglio dall'oggetto request
utilizzando request.path
. Tuttavia su una seconda ripresa, è davvero molto orribile che sto ignorando slickness di Django per un modo meno pulito come più a lungo, di analisi - e la ragione è che non capisco cosa fare
Diciamo che hai 3 server si sta mettendo la vostra applicazione Django su, che hanno tutti un nome di dominio e qualche variazione, come server1/djangoApplicationName/queryparams
, server2/application/djangoApplicationName
e server3/queryparams
. Quale sarà il urlpattern
ottenere passato? L'intero URL? Tutto dopo il nome del dominio?
Soluzione
L'espressione regolare URLconf vede solo la parte di percorso dell'URL, con l'iniziale in avanti-slash spogliato. parametri di query non sono abbinati dal URLconf, si accede tramite quelli request.GET nella vista. Così si potrebbe scrivere un modello come questo:
urlpatterns = patterns('myapp.views',
url(r'^myapp/something/$', 'something_view_func')
)
Il documentazione ha più esempi e dettagli.