Python--Django【创建简单应用-URL配置】

项目及应用如下:

创建简单应用流程:

  • 第一步:编辑myblog.vidws.py

每个响应对应一个函数,函数必须返回一个响应;

函数必须存在一个参数,一般约定为request;

每一个响应(函数)对应一个URL。

  • 第二步:编辑mysite.urls.py

每个URL都以url的形式写出来;

url函数存放在urlpatterns列表中;

url函数三个参数:URL(正则),对应方法,名称。

代码:

myblog.vidws.py

from django.http import HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("Hello, world. You're at the myblog index.")

mysite.urls.py

from django.contrib import admin
from django.conf.urls import url

import myblog.views as mv

urlpatterns = [
    url('^admin/', admin.site.urls),
    url('^index/', mv.index),
]

浏览器响应:

优化以上的URL配置:

对于多个应用时,根目录下的mysite/urls.py文件过于庞大,不好维护。

解决方法:

第一步:创建应用目录下myblog/urls.py文件

第二步:修改根目录下mysite/urls.py文件【引入include】

第三步:浏览器访问 

注意事项:

根目录mysite/urls.py针对APP配置的URL名称,是该APP所有URL的总路径

配置URL时注意正则表达式结尾符号$和/

代码:

myblog/urls.py

from django.conf.urls import url

from . import views

urlpatterns = [
    url('index', views.index), #url('^index/$', views.index),#/不能丢
]

mysite/urls.py

"""mysite 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.conf.urls import url,include


urlpatterns = [
    url('^admin/', admin.site.urls),
    url('^myblog/', include('myblog.urls')),
]

浏览器访问: http://localhost:9999/myblog/index/

修改访问路径,不需要太长的,可以修改根目录的,也可以修改应用目录下的,此处修改应用目录下的myblog/urls.py中的路径,设置为空

from django.conf.urls import url

from . import views

urlpatterns = [
    url('', views.index),
]

访问路径:http://localhost:9999/myblog/

发现 http://localhost:9999/myblog/ 这个路径后面加任意字符串都可以访问成功

 

使用正则表达式约束空字符串,如下

from django.conf.urls import url

from . import views

urlpatterns = [
    url('^$', views.index),
]

 这样就不会出现访问任意路径都可以显示成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值