Python urls.py的三种配置写法实例详解

1250次阅读  |  发布于5年以前

urls.py的配置写法一般有三种方式。

1. 第一种是导入视图的方式,就是 The Django Book 里面样例的写法:


    from blog.views import index 
    url(r'^nowamagic/', index)    

2. 第二种方法是视图处理方法,看代码就知道是怎么回事了。


    url(r'^nowamagic/', 'test.views.index')

3. 第三种是把模型与视图写在前缀里。


    urlpatterns = patterns('blog.views',   
    url(r'^nowamagic$', 'index' )  
    url(r'^nowamagic/\d{2}/$', 'index') 
    url(r'^nowamagic/(?P<id>\d{2})/$', 'index' ) 

大同小异。

下面来个详细的代码总结:


    from django.conf.urls.defaults import *

    urlpatterns = patterns('',
      # test_client modeltest urls
      (r'^test_client/', include('modeltests.test_client.urls')),
      (r'^test_client_regress/', include('regressiontests.test_client_regress.urls')),

      # File upload test views
      (r'^file_uploads/', include('regressiontests.file_uploads.urls')),

      # Always provide the auth system login and logout views
      (r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}),
      (r'^accounts/logout/$', 'django.contrib.auth.views.logout'),

      # test urlconf for {% url %} template tag
      (r'^url_tag/', include('regressiontests.templates.urls')),

      # django built-in views
      (r'^views/', include('regressiontests.views.urls')),

      # test urlconf for middleware tests
      (r'^middleware/', include('regressiontests.middleware.urls')),

      # admin view tests
      (r'^test_admin/', include('regressiontests.admin_views.urls')),
      (r'^generic_inline_admin/', include('regressiontests.generic_inline_admin.urls')),

      # admin widget tests
      (r'widget_admin/', include('regressiontests.admin_widgets.urls')),

      (r'^utils/', include('regressiontests.utils.urls')),

      # test urlconf for syndication tests
      (r'^syndication/', include('regressiontests.syndication.urls')),

      # conditional get views
      (r'condition/', include('regressiontests.conditional_processing.urls')),

      # middleware exceptions tests
      (r'middleware_exceptions/', include('regressiontests.middleware_exceptions.urls')),

      # special headers views
      (r'special_headers/', include('regressiontests.special_headers.urls')),
    )

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8