2010-02-18 7 views
0

J'ai du mal à comprendre ce qui est exactement passé à la méthode patterns dans Django.Modèles d'URL dans Django - Différentes combinaisons

Vous voyez, je suis généralement mon urls.py comme:

urlspatterns = patterns('example.views', 

    (r'/$','func_to_call'), 

) 

Puis, en func_to_call je recevrais tout ce que je veux de l'objet request en utilisant request.path. Cependant, sur une deuxième prise, c'est vraiment assez horrible que j'ignore la finesse de Django pour une manière d'analyse plus longue et moins propre - la raison étant que je ne comprends pas ce qu'il faut faire! Supposons que vous ayez 3 serveurs sur lesquels vous mettez votre application Django, tous ayant un nom de domaine et des variantes comme server1/djangoApplicationName/queryparams, server2/application/djangoApplicationName et server3/queryparams. Quel sera le urlpattern réussi? L'URL entière? Tout après le nom de domaine?

Répondre

2

L'URLconf regex ne voit que la partie chemin de l'URL, avec la barre oblique initiale supprimée. Les paramètres de requête ne correspondent pas à l'URLconf, vous y accédez via request.GET dans votre vue. Ainsi, vous pourriez écrire un modèle comme celui-ci:

urlpatterns = patterns('myapp.views', 
    url(r'^myapp/something/$', 'something_view_func') 
) 

Le documentation a plus d'exemples et de détails.

+0

Votre lien est cassé, merci de le modifier? – Lobo

+0

Fait, merci de l'avoir signalé. –