2017-05-25 89 views
0

的Django的網址()函數有三個參數:url()函數中kwargs參數的用途是什麼?

url(regex, view, kwargs=None, name=None) 

我想了解使用kwargs參數。有沒有其功能的實際例子?

+3

見[傳遞額外的選項來視圖(https://docs.djangoproject.com/en/1.11/topics/http/urls/#passing-extra-options-to-view-functions)用於例 – wim

回答

0

如果您想將不同的參數傳遞給相同的函數以獲得不同的結果,這將非常有用。在下面的例子中,我有一個函數,它根據url來爲google分析模板提供大量的javascript。

#urls.py 
urlpatterns = [ 
    url(r'^overall/$', get_analytics_information, kwargs={'template': 'analytics_overall.html'}, name='overall'), 
    url(r'^content-terms/$', get_analytics_information, kwargs={'template': 'analytics_content_terms.html'}, name='content_terms'), 
    url(r'^campaigns/$', get_analytics_information, kwargs={'template': 'analytics_campaigns.html'}, name='campaigns'), 
] 

#views 
def get_analytics_information(request, template): 
    ACCESS_TOKEN_FROM_SERVICE_ACCOUNT = get_access_token() 
    if ACCESS_TOKEN_FROM_SERVICE_ACCOUNT: 
     return render(request, '{}'.format(template), {'ACCESS_TOKEN_FROM_SERVICE_ACCOUNT': ACCESS_TOKEN_FROM_SERVICE_ACCOUNT}) 
    else: 
     warnings.warn('Invalid service credentials') 
     return render(request, 'invalid_credentials.html') 
相關問題