• django urls


    url 与 path

    django 2.0 发布之后,url使用方面与1.11有蛮大的变化。下面举几个小栗子来说明(代码就是最好的文档:p)

    from django.conf.urls import url,include # 1.11与2.0
    from django.urls import path,re_path,include # 2.0
    
    urlpatterns = [
        url('^$',index,name='index'),
        path('', index,name='index'),
        
        url('^register/$',register,name='register'),
        path('register/', register,name='register'),
    
        url('^articles/(?P<year>[0-9]{4})/$', articles,name='articles'),
        path('articles/<int:year>/',articles,name='articles'),
    ]
    

      

    如何管理多个app下的路由分发,使得管理更加清晰?

    1. 在app下创建urls.py文件

    from django.urls import path,re_path
          
    from myapp.views import IndexView 
          
          
    urlpatterns = [  
        path(r'index/', IndexView.as_view(),name="index"),
    ]

    2.在myproject/myproject/urls.py配置

    from django.urls import url,path,include
          
    urlpatterns = [  
        path(r'myapp/',include("myapp.urls")),#包含myapp中的urls
    ]  
    

    reverse

    好处,就是需要修改url路径时仅需修改一处即可。与tempaltes中的{ url 'index' }情形是一样的。

    from django.urls import reverse
    from django.http import HttpResponseRedirect
    
    class LogoutView(View):
        """
        用户登出
        """
        def get(self, request):
            logout(request)
            return HttpResponseRedirect(reverse("index"))
    

      

  • 相关阅读:
    HashMap
    Java内部类应用——静态内部类
    transient关键字和@Transient 注解
    java基本数据类型传递与引用传递区别
    抽象类
    java collection-list详解
    Arrays,ArrayList,以及ArrayList源码分析
    【转载】【剑指offer】面试题40:最小的 k 个数中的优先级队列
    java stack总结
    java Queue
  • 原文地址:https://www.cnblogs.com/zenan/p/10196205.html
Copyright © 2020-2023  润新知