Django的url()函数有三个参数:
url(regex, view, kwargs=None, name=None)
我正在尝试理解kwargs
参数的使用。它的功能是否有任何实际的例子?
答案 0 :(得分:0)
如果要将不同的参数传递给同一函数以获得不同的结果,这非常有用。在下面的示例中,我有一个功能,根据网址为大量的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')