路由系统

一、伪静态

  cnblogs:
    https://www.cnblogs.com/linhaifeng/articles/7133167.html
  自己:
    http://127.0.0.1:8000/up_studnet/?id=12

二、路由分发

  url:

    url(r'^index/(\w+)/(\w+)/', index),
    url(r'^test/(?P<id>\w+)/(?P<name>\w+)/', test),

  def test(request, name, id):
    print(id , name)

    return HttpResponse('test')

三、路由正则

  url(r'^test2/$', test2)

  url(r'^', notfound)  需要写到最下面(上面没有匹配的会匹配这个 404 )

四。反向路由

  后台url:(以name作为匹配)
    url(r'^loginxxxxxxx/$', login, name='xxx')
  前台:
    <form action="{% url 'xxx' %}">
      <input type="text">
    </form>

五、路由分组

  总urls.py;
    url(r'^app02/', include('app02.urls')),
    url(r'^app03/', include('app03.urls')),

  分 app 中 urls.py:

    from app03 import views

    urlpatterns = [

      url(r'^students/', views.studnets)
     ]

六、函数视图

FBV:(以前写的都是)

  function based view

CBV:

  class based view
  urls.py:
    url(r'^login/', views.Login.as_view()),
  views.py:
    from django.views import View
    class Login(View):

      def get(self, request):

        return render(request, "login.html")

      def post(self, request):
        uname = request.POST.get('username')

        return HttpResponse('ok')

原理:
  'get':   请求数据
  'post':  提交数据
  'delete': 删除数据
  'put':   更新数据
  'patch':  更新部分数据
补充:
  form表单提交 只支持get、post
  ajax支持所有类型

posted @ 2019-07-16 15:32  水天两色  阅读(170)  评论(0编辑  收藏  举报