Django url管理之include
在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 url from myapp.views import homePage urlpatterns = [
url(r'homepage', homePage),
]
然后在项目的urls中包含刚刚app中添加的url配置,我们要做的是在myproject/myproject/urls.py输入如下内容:
from django.conf.urls import url, include#导入了include函数
from django.contrib import admin urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^myapp/', include("myapp.urls"))#包含myapp中的urls
]
然后通过刚刚相同的url(http://localhost:8000/myapp/homepage)访问发现也可以访问了,通过这样的url管理会发现更加整洁,可扩展性更强。
Django url管理之include的更多相关文章
- Django之url上的include,URL命名和反向解析,命名空间
include其他的URLconfs #At any point, your urlpatterns can “include” other URLconf modules. This #esse ...
- django–url
当我们创建了一个项目时,系统为我们创建了一份urlconf, 它可能是这样的: urlpatterns = [ url(r'^admin/', admin.site.urls), ] r'^admin ...
- Django后台管理界面
之前的几篇记录了模板视图.模型等页面展示的相关内容,这篇主要写一下后台admin管理界面的内容. 激活管理界面 Django管理站点完全是可选择的,之前我们是把这些功能给屏蔽掉了.记得上篇中Djang ...
- Django项目实践4 - Django网站管理(后台管理员)
http://blog.csdn.net/pipisorry/article/details/45079751 上篇:Django项目实践3 - Django模型 Introduction 对于某一类 ...
- Django项目实践4 - Django站点管理(后台管理员)
http://blog.csdn.net/pipisorry/article/details/45079751 上篇:Django项目实践3 - Django模型 Introduction 对于某一类 ...
- Django 利用管理器实现文章归档
Django管理器:class Manager 管理器是Django的模型进行数据库查询的接口,Django应用的每个模型都拥有至少一个管理器.默认情况下,Django为每个模型类添加一个名为obje ...
- Django——admin管理工具
一.admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTAL ...
- Django URL(路由系统)
Django URL Django 1.11版本 URLconf官方文档 URL配置(URLconf)就像 Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的 ...
- Django:URL,Views,Template,Models
准备工作:熟悉Django命令行工具 django-admin.py 是Django的一个用于管理任务的命令行工具,常用的命令整理如下: <1> 创建一个django工程 : django ...
随机推荐
- python自动化开发-[第十二天]-前端html
今日概要: 前端基础之html 1.web服务器的本质: #!/usr/bin/python # -*- coding:utf-8 -*- import socket def handle_reque ...
- mysql5.7 on windows
1.下载zip包:https://dev.mysql.com/downloads/file/?id=476696 2.解压到E盘3.执行命令 初始化 E:/mysql-5.7.22-winx64/bi ...
- python 基础技巧
多个字典合并 >>> d1 = {'name' : 'revotu', 'age' : 99} >>> d2 = {'age' : 24, 'sex' : 'mal ...
- 【.net】The source was not found, but some or all event logs could not be searched
1.案发现场: 注册服务的时候 2.解决方案: 用管理员身份运行CMD,再注册服务: I had to run Command Prompt with Administrator Rights.
- JAVA核心技术I---JAVA基础知识(格式化相关类)
一:格式化相关类 (一)java.text包java.text.Format的子类 –NumberFormat:数字格式化,抽象类 DecimalFormat –MessageFormat:字符串格式 ...
- POJ - 2057 The Lost House(树形DP+贪心)
https://vjudge.net/problem/POJ-2057 题意 有一只蜗牛爬上某个树枝末睡着之后从树上掉下来,发现后面的"房子"却丢在了树上面,.现在这只蜗牛要求寻找 ...
- Oracle的to_char()函数使用
(1)用作日期转换: to_char(date,'格式'); select to_date('2005-01-01 ','yyyy-MM-dd') from dual; select to_char( ...
- SpringBoot系列: Spring MVC视图方法的补充
SpringMVC 视图方法的参数, 已经在这个文章中写得非常清楚了, 链接为 https://www.cnblogs.com/morethink/p/8028664.html 这篇文章做一些补充. ...
- PHP 图片验证码验证
*.html <input type="> <img src="> api.php <?php session_start(); $dataObj = ...
- C++ primer 11章关联容器
map set multimap (关键字可重复出现) multiset 无序 unordered_map (用哈希函数组织的map) unordered_set unordered_multima ...