三、django url模块

URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间,它就是我们的网站路由系统

    urlpatterns = [
         url(正则表达式, views视图函数,参数,别名),
]

参数说明:
一个正则表达式字符串
一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
可选的要传递给视图函数的默认参数(字典形式)
一个可选的name参数

一、多url匹配处理方法

当url路径匹配过多时容易造成混乱,因此我们可以根据url功能细分,将某一块功能细分为一个应用,例如我们细分出来api接口相关的url
1、添加新的应用

python manage.py startapp apiAPP

2、在url.py中将api链接相关的 引用apiAPP应用

from django.conf.urls import url,include
from django.contrib import admin
from bbsAPP import views
'''任何usl都会从这里匹配'''
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^login/$', views.login),
    url(r'^api/', include('apiAPP.urls')),
]

3.在apiAPP应用中,我们创建一个url.py,用来匹配api下面的具体链接:

#!/usr/bin/python
# -*- coding:utf-8 -*-
# @Time   : 2018/12/18 11:24
# @Author : liaochao
# @File   : urls.py

from django.conf.urls import url,include
from django.contrib import admin
from apiAPP import views
'''此处是精确匹配,写list.html,浏览器也要写list.html,后面带/的话,浏览器也要带/'''
urlpatterns = [
    url(r'^list.html', views.list),
    url(r'^update.html', views.update),
    url(r'^add.html', views.add),
    url(r'^delete.html', views.delete),
]

4、在apiAPP应用中的views.py中写具体逻辑:

from django.shortcuts import render,HttpResponse

# Create your views here.

def list(request):
    return HttpResponse('this is list')

def add(request):
    return HttpResponse('this is add')

def update(request):
    return HttpResponse('this is update')

def delete(request):
    return HttpResponse('this is delete')

5、启动 项目,测试具体连接是否具体分配:

python manage.py runserver 8080

访问:http://127.0.0.1:8080/api/add.html

二、url处理数字(key)的方法:

如果我们需要传一些参数但是不改变默认的url,我们可以这样:
在链接前面加上(?P[0-9]+)/ ,这个是匹配数字的正则

from django.contrib import admin
from apiAPP import views
'''任何usl都会从这里匹配'''
'''此处是精确匹配,写list.html,浏览器也要写list.html,后面带/的话,浏览器也要带/'''
urlpatterns = [
    url(r'^list.html', views.list),
    url(r'^update.html', views.update),
    url(r'(?P<num>[0-9]+)/add.html', views.add),
    url(r'^delete.html', views.delete),
]

然后我们在viwe里面就可以拿到参数了:
view.py 写法:

def add(request,num):
    print ("num is %s" %num)
    return HttpResponse('this is add')

测试:
在这里插入图片描述
控制台打印拿到的参数:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值