在使用django框架開發web的時候,通常會有很多URL對應很多方法,一般情況下需要在urls.py中創建URL和方法的對應關係,如果方法數量很多的話,需要寫很長的urlpatterns,不僅費力而且在添加或者修改方法時需要一同進行修改,費力費事,所以通過一個通用的warpper進行包裝,省時省力,實現方法如下:
1、先在views中創建通配方法
def mapping(request,method):
try:
#定義一個默認首頁
if method == "":
method = "index"
return eval(method)(request)
except NameError,e:
msg = u"未知的請求"
logger.info(msg)
logger.info(str(e))
return HttpResponse(msg)
except Exception,e:
msg = u"請求遇到未知錯誤"
logger.info(msg)
logger.info(str(e))
return HttpResponse(msg)
2、在urls.py裏添加urlpatterns,需要在上面import下mapping
url(r'(.*)', mapping ,name='method')