Django输入域名默认的HTML,Django入门(五)   多级URL和默认URL

django中我们发布app01应用的使用的index.html,首先需要在myjango子目录的urls文件中去编辑url的路由    c3f66536d1b2bbd721562a050b893bb4.png

这种情况适用于应用较少的时候。加入我们不只有app01,后面还有很多很多app的时候。如果将这些路由都写入到子目录mudjango目录下的url就显得非常混乱了。这时使用多级url就是一个比较好的解决方案。

首先再创建一个名字叫app02的应用

在命令行下输入python manager.py startapp app02

dbee8d90d876de836d63c95d9a4fa2a4.png

28bb2c21f1874a265ae61dfb58fb9eb9.png

第二步、在template目录下分别创建两个html文件,提供给两个app使用。另外再创建一个default.html文件一会儿测试默认url的时候使用。具体的目录结构如下

9465e463d58755ca65cbc22cdf3ea97d.png

编辑这三个新建的html,因为只是测试用能区分开这三个文件就可以了。这里就不罗列简单的代码了。

第三步、编辑app01应用下的views.py

views.py# /usr/bin/env python

# coding:utf-8

from django.shortcuts import render

def app01_index(request):

return render(request,'app01/app01_inde.html')

def default_index(request):

return render(request,'default.html')

在app01应用模块下添加新建一个urls.py文件,仿照mydjango子目录下的urls.py内容编写如下内容#!/usr/bin/env python

# -*-coding:utf-8-*-

from django.conf.urls import url

from django.contrib import admin

from app01 import views

urlpatterns = [

url(r'^admin/', admin.site.urls),

url(r'^app01index/$', views.app01_index),

#定义默认访问路由,表示输入任意url路径

url(r'^$', views.default_index),

]

3926e075bd291a66ad6f9eaea010a7ef.png

同样的方法来编辑app02应用中的内容

/app02/views.py# /usr/bin/env python

# coding:utf-8

from django.shortcuts import render

def app02_index(request):

return render(request,'app01/app02_index.html')

编辑app02的urls.py

/app02/urls.py#!/usr/bin/env python

# -*-coding:utf-8-*-

from django.conf.urls import url

from django.contrib import admin

from app02 import views

urlpatterns = [

url(r'^admin/', admin.site.urls),

url(r'^app02index/$', views.app02_index),

]

6050d6aae9930aafd365d095fd2be640.png

第四步、就是最关键的一步,我们现在来编辑mydjango子目录下的urls.py

mydjango/urls.py#!/usr/bin/env python

# coding:utf-8

#这里多引用了一个include模块

from django.conf.urls import url,include

from django.contrib import admin

"""

这里的就是告诉路由系统,遇到多级url的时候去哪个app下的找对应

的子url

"""

urlpatterns = [

url(r'^admin/', admin.site.urls),

#因为是多级的url,一定要去掉'$'号。因为这个只是第一级的url,后面还有二级url呢

url(r'^/app01/', include('app01.urls')),

url(r'^/app02/', include('app02.urls')),

#如果域名后面没有指定路径就匹配这一条规则,这里也要去掉'$'号

url(r'^', include('app01.urls')),

]

最后来启动server测试一下我们的配置是否成功

先来测试一下app01

b8204bf0c24e680f3a05872b64e4d615.png

可以看到这个页面先经过了app01这个路径之后才进入到app01_index的

同样app02也是这样的效果

a75474669c1c280170a107d739b89889.png

最后来检查一下默认首页,不输入任何url路径时候能否正确显示

5ff3bba59a1bd13be487cc5e594fe818.png

到这里就实现了多级URL和默认URL的配置。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值