给出这样的观点:
# my_app/views.py
def index(request):
...
def list(request):
...
def about(request):
...
而不是在视图中为每个方法明确声明urls.py
中的网址:
# urls.py
url(r'^index$', 'my_app.views.index'),
url(r'^list$', 'my_app.views.list'),
url(r'^about$', 'my_app.views.about'),
...
是否可以只为URL调度程序提供视图(my_apps.views
)并让它处理所有视图的方法?
答案 0 :(得分:1)
我想你可以有一个捕获url regexp的视图,
r'^(?P<viewtype>index|list|about)/$', 'myview'
带有处理捕获参数的视图。
def myview(request, viewtype):
if viewtype == 'index':
return http.HttpResponse("I'm the index view")
elif viewtype == 'list':
return http.HttpResponse("I'm the list view')
但为了清晰起见,我建议保持视图逻辑分离。使用3个if / then语句跟踪3个不同视图的特定功能要容易得多。