urls.py的配置写法一般有三种方式。
1. 第一种是导入视图的方式,就是 The Django Book 里面样例的写法:
1 | from blog.views import index |
2 | url(r '^nowamagic/' , index) |
2. 第二种方法是视图处理方法,看代码就知道是怎么回事了。
1 | url(r '^nowamagic/' , 'test.views.index' ) |
3. 第三种是把模型与视图写在前缀里。
1 | urlpatterns = patterns( 'blog.views' , |
2 | url(r '^nowamagic$' , 'index' ) |
3 | url(r '^nowamagic/\d{2}/$' , 'index' ) |
4 | url(r '^nowamagic/(?P<id>\d{2})/$' , 'index' ) |
大同小异。
下面来个详细的代码总结:
01 | from django.conf.urls.defaults import * |
03 | urlpatterns = patterns('', |
05 | (r '^test_client/' , include( 'modeltests.test_client.urls' )), |
06 | (r '^test_client_regress/' , include( 'regressiontests.test_client_regress.urls' )), |
09 | (r '^file_uploads/' , include( 'regressiontests.file_uploads.urls' )), |
12 | (r '^accounts/login/$' , 'django.contrib.auth.views.login' , { 'template_name' : 'login.html' }), |
13 | (r '^accounts/logout/$' , 'django.contrib.auth.views.logout' ), |
16 | (r '^url_tag/' , include( 'regressiontests.templates.urls' )), |
19 | (r '^views/' , include( 'regressiontests.views.urls' )), |
22 | (r '^middleware/' , include( 'regressiontests.middleware.urls' )), |
25 | (r '^test_admin/' , include( 'regressiontests.admin_views.urls' )), |
26 | (r '^generic_inline_admin/' , include( 'regressiontests.generic_inline_admin.urls' )), |
29 | (r 'widget_admin/' , include( 'regressiontests.admin_widgets.urls' )), |
31 | (r '^utils/' , include( 'regressiontests.utils.urls' )), |
34 | (r '^syndication/' , include( 'regressiontests.syndication.urls' )), |
37 | (r 'condition/' , include( 'regressiontests.conditional_processing.urls' )), |
40 | (r 'middleware_exceptions/' , include( 'regressiontests.middleware_exceptions.urls' )), |
43 | (r 'special_headers/' , include( 'regressiontests.special_headers.urls' )), |