实战Django的URL路由映射关系

1.创建Django项目

实战Django创建项目:https://blog.csdn.net/Burgess_zheng/article/details/86505526

2.创建URL路由映射关系

路径:project_burgess/project_burgess/urls.py

"""project_burgess URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path,re_path #Django版本2.0以上
from project_burgess import views
from django.conf.urls import url  #Django2.0


urlpatterns = [
    path('admin/', admin.site.urls),
    #静态url
    path('burgess_web/', views.func),#最新版本的Django路由使用path
    #url(r'^burgess_web/', views.func), #2.0版本使用的是url

    #动态url
       #1.位置形参
    re_path('burgess01-(\d+)-(\d+).html/', views.test01),#最新版本的Django路由使用path
    #url(r'^burgess01-(\d+)-(\d+).html/', views.test01), #2.0版本使用的是url
      #2.关键形参
    re_path('burgess02-(?P<nid>\d+)-(?P<uid>\d+).html/', views.test02),  # 最新版本的Django路由使用path
    #url(r'^burgess02-(?P<nid>\d+)-(?P<uid>\d+).html/', views.test02), #2.0版本使用的是url
      #关键形参数量对应接收
    re_path('burgess03-(?P<nid>\d+)-(?P<uid>\d+).html/', views.test03),  # 最新版本的Django路由使用path
    # url(r'^burgess03-(?P<nid>\d+)-(?P<uid>\d+).html/', views.test03), #2.0版本使用的是url

]

3.URL路由对应函数接收3种形式

路径:project_burgess/project_burgess/views.py

__author__ = "Burgess Zheng"
#!/usr/bin/env python 
#-*- coding:utf-8 -*-
from django.shortcuts import render,HttpResponse,redirect
import json
def func(request):
    return HttpResponse('OK')

def test01(request,*args):
    print(args)
    return HttpResponse('args:%s'%json.dumps(args))

def test02(request,*args,**kwargs):
    print(kwargs)
    return HttpResponse('kwargs:%s'%json.dumps(kwargs))

def test03(request,nid,uid):
    print(nid,uid)
    return HttpResponse('nid:%s,uid:%s' %(uid,nid))

4.启动Django

手动:python manage.py runserver 127.0.0.1:8000

pycharm:

5.浏览器访问URL结果

扫描二维码关注公众号,回复: 4961717 查看本文章

猜你喜欢

转载自blog.csdn.net/Burgess_zheng/article/details/86528727
今日推荐