Maison  >  Article  >  développement back-end  >  Comment passer des paramètres dans l'URL Django

Comment passer des paramètres dans l'URL Django

高洛峰
高洛峰original
2017-02-27 16:54:402126parcourir

1 Sans paramètres

L'URL de configuration et sa vue sont les suivantes :

(r'^hello/$', hello)
 
def hello(request):
  return HttpResponse("Hello World")

Visitez http:/ /127.0 .0.1:8000/hello, le résultat de sortie est "Hello World"

2 Passez un paramètre
pour configurer l'URL et sa vue comme suit Spécifiez un paramètre dans l'URL via une expression régulière :

(r'^plist/(.+)/$', helloParam)
 
def helloParam(request,param1):
  return HttpResponse("The param is : " + param1)

Visitez http://127.0.0.1:8000/plist/china, le résultat de sortie est "Le paramètre est : china"

3 Passer plusieurs paramètres
Reportez-vous au deuxième cas, en prenant comme exemple le passage de deux paramètres, configurez l'URL et sa vue comme suit, spécifiez deux paramètres dans l'URL via des expressions régulières :

(r'^plist/p1(\w+)p2(.+)/$', helloParams)
 
def helloParams(request,param1,param2):
  return HttpResponse("p1 = " + param1 + "; p2 = " + param2)

Visitez http://127.0.0.1:8000/plist/p1chinap22012/Le résultat est "p1 = Chine ; p2 = 2012"

Comme cela peut être vu d'ici, les paramètres de la vue sont basés sur l'expression régulière de l'URL, mis en correspondance dans l'ordre et attribués automatiquement. Bien que cela puisse permettre le transfert d'un nombre illimité de paramètres, cela n'est pas assez flexible. L'URL semble déroutante et, comme il s'agit d'une correspondance régulière, elle est sujette aux erreurs dans certains cas.

4 Transmettez les paramètres via le traditionnel "?"

Par exemple, http://127.0.0.1:8000/plist/?p1=china&p2=2012, après le '?' url, cela signifie passer des paramètres, deux paramètres p1 et p2 sont passés ici.

En transmettant les paramètres de cette manière, les problèmes causés par des erreurs de correspondance régulières ne se produiront pas. Dans Django, l'analyse de ces paramètres est obtenue via la méthode request.GET.get.

L'URL de configuration et sa vue sont les suivantes :

(r'^plist/$', helloParams1)
 
def helloParams(request):
  p1 = request.GET.get('p1')
  p2 = request.GET.get('p2')
  return HttpResponse("p1 = " + p1 + "; p2 = " + p2)

Le résultat de sortie est "p1 = Chine ; p2 = 2012 »

Pour plus d'articles liés à la méthode de transmission des paramètres dans l'URL Django, veuillez faire attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn