2016-10-24 1 views
1

eine URL zum Beispiel Gegeben:garantieren eine URL kwargs

url(r'^article/(?P<article_id>\d+)/review/(?P<review_id>\d+)/rate/$', views.rate_reviewer, 
    name='review_rate_reviewer') 

Gibt es eine Möglichkeit in django, dass ich eine Liste des kwargs diese URL erforderlich zB bekommen konnte. ['article_id', 'review_id']?

+0

Vielleicht könnte 'resolve()' helfen? [Dokumente hier] (https://docs.djangoproject.com/en/1.11/ref/urlresolvers/#resolve) – J0ANMM

Antwort

-1

sollte Ihre Ansicht Funktion Signatur sein:

def rate_reviewer(request, article_id, review_id): 
    #custom logic where you can use article_id and review_id 
    rate_article(article_id, review_id) 

Anders als das Sie könnte natürlich URL wie:

http:localhost:8000/review_article?article_id=7&review_id=15.... 

und innen Zugang-View-Funktion diese Argumente mit

def rate_reviewer(request): 
    article_id=request.GET.get("article_id",None) 
    review_id = request.GET.get("review_id", None) 

Sie können auf alle Argumente in der GET-Anfrage mit request.GET zugreifen (in der POST-Anfrage ist es request.PO) ST), und hier erhalten Sie ein Wörterbuch mit allen Eingabeparametern.