在Django框架中,提供了非常清晰简洁的url管理方法,在新建一个project之后(此处为myproject),然后在项目中建立一个app(此处为myapp),会看到有如下的目录结构:

一般所熟知的就是在myproject/myproject/urls.py中的urlpatterns列表中来配置 url,每一个列表项就是一个由url函数的调用。例如嘉定我们想在myapp中定义一个主页,然后通过"http://localhost:8000/myapp/homepage"来访问,首先我们在myproject/myapp//view.py中定义一个叫homePage的函数(名字随意,不一定叫这名字):

from django.shortcuts import render
from django.http.response import HttpResponse# Create your views here.
def homePage(request):return HttpResponse("<h1>This is home page</h1>")

然后在myproject/myproject/urls.py的urlpatterns列表中添加一个url配置:

from django.conf.urls import url
from django.contrib import admin
from myapp.views import homePage#记得导入urlpatterns = [url(r'^admin/', admin.site.urls),url(r'^myapp/homepage', homePage)
]

然后运行项目,就可以用浏览器通过http://localhost:8000/myapp/homepage来访问。

但假如一个project中有多个app,用以上的方式来管理url可能会造成比较混乱的局面,为了解决这个问题,我们可以用include的方法来配置url,首先我们在自己的app中建立一个urls.py,即myproject/myapp/目录下建立urls.py,然后在其中输入如下内容:

from django.conf.urls import urlfrom myapp.views import homePageurlpatterns = [url(r'homepage', homePage),
]

然后在项目的urls中包含刚刚app中添加的url配置,我们要做的是在myproject/myproject/urls.py输入如下内容:

from django.conf.urls import url, include#导入了include函数
from django.contrib import adminurlpatterns = [url(r'^admin/', admin.site.urls),url(r'^myapp/', include("myapp.urls"))#包含myapp中的urls
]

然后通过刚刚相同的url(http://localhost:8000/myapp/homepage)访问发现也可以访问了,通过这样的url管理会发现更加整洁,可扩展性更强。

Django url管理之include相关推荐

  1. Django站点管理、视图和URL(管理界面本地化、创建管理员、注册模型类、发布内容到数据库、定义视图、配置URLconf)

    1.Django站点管理 站点: 分为内容发布和公共访问两部分 内容发布的部分由网站的管理员负责查看.添加.修改.删除数据 Django能够根据定义的模型类自动地生成管理模块 使用Django的管理模 ...

  2. 限制用户对页的访问php,如何限制对Django中管理页的访问?

    在URL中使用AdminSite类之前,请覆盖该类的"管理"视图部分. 在admin.py文件中(如果没有,请创建它)添加:from functools import update ...

  3. django -- url映射

    * url映射 * 传递参数   * 应用命令空间   * 默认参数 ## 昨天遇到的问题 * windows 中 用户名 不要写成中文    * 如果说 遇到 mkvirtualenv  worko ...

  4. Django admin 管理工具

    Django admin 管理工具 1 admin组件的使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 se ...

  5. Django 权限管理-后台根据用户权限动态生成菜单

    Django权限管理 实现目标: 1.管理用户,添加角色,用户关联角色 2.添加权限.角色关联权限 3.添加动作.权限关联动作 4.添加菜单.权限关联菜单 实现动态生成用户权限菜单(可设置多级菜单嵌套 ...

  6. Django URL

    一.创建Django项目: 用命令行创建: 创建项目:在终端通过命令:django-admin startproject [项目名称] 即可创建,比如:django-admin startprojec ...

  7. django权限管理

    当我们为应用创建一个Models, 在同步到数据库里,django默认给了三个权限 ,就是 add, change, delete权限. 首先,我们创建一个perm_test的project, 然后再 ...

  8. django——url(路由)配置

    URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除此之外的任何URL都不被 ...

  9. django URL路由基础

    URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除此之外的任何URL都不被 ...

  10. django url 生效_Django-url配置和详解

    Django.VERSION=1.11 URLCONF就是Django网站的目录集合,我们使用正则表达式来表达. 一般我们把url和视图view联合起来讲. 我们的第一个urls.py文件:首次创建的 ...

最新文章

  1. 蘑菇模拟器TV版 for Android,安卓NES模拟器TV版下载
  2. 实训3:配置网络负载平衡服务_Linux系统配置及服务管理第十四章网络管理实战2...
  3. 1. golang 语言环境安装
  4. 内存泄漏检测工具(转载)
  5. 用100行python代码发现语音识别文本错误词,并将结果和正确词一一对应
  6. vue的props实现父组件变化子组件一起变化
  7. POJ 2054 Color a Tree解题报告
  8. PHP学习之路(二)让我们开始环境搭建(Windows篇)
  9. 城市路(信息学奥赛一本通-T1381)
  10. ArcGIS 查看运行结果
  11. 企业微信机器人实现发送消息的功能(文本消息,图片消息,图片+文字消息)
  12. 知识图谱——TransE模型原理
  13. 【图书推荐】中国首部敏捷开发案例集《敏捷开发一千零一夜》
  14. Busybox中httpd、ftpd、telnetd、tftpd、ntpd的用法
  15. 前端向后端传参报415_ajax往后台传json格式数据报415错误
  16. 写个单机版斗地主程序,复习c++面向对象
  17. IOS开发Swift笔记19-扩展(Extension)
  18. 在商业化这件事上,百度Apollo智能车联究竟做得怎么样了?
  19. Mac OS系统怎么修改mac地址
  20. linux文件搜索关键字并显示前后10行

热门文章

  1. Ubuntu安装谷歌浏览器
  2. IntelliJ IDEA导出jar包
  3. 罗技 GHUB驱动的官方下载网址
  4. Word Clock数字时钟动态屏保,让你的电脑锁屏瞬间科技感十足!
  5. 教育大数据采集机制与关键技术研究
  6. idea各工作区背景颜色设置
  7. 如何利用Arcmap模型构建器处理NC格式数据
  8. CAD关于线型操作添加线型(com接口c#语言)
  9. 利用VBA操作OutLook批量发送工资条
  10. 思科与华为设备OSPF配置命令对比