django下创建多个app并设置urls方法


Posted in Python onAugust 02, 2020

1、创建第二个app

假设我们项目P下面已经有了一个默认的app,名字是app1。现在我想创建第二个app,名字时app2。

进入pychram下的Terminal中,运行命令:

python manage.py startapp app2

此外,我在每个app下都建立一个urls.py,方便区分。

右击app名,点击“new”,选择“Python File”,命名为urls,确定。

2、设置url.py

(1)设置P\urls.py

引入app2下的urls,然后添加引导路径。具体代码如下:

from app2 import urls as app2_urls
urlpatterns = [
    path('app2/',include(app2_urls)), # 将所有以app2开头的urls,都交给app2(app名)下的urls.py处理    
]

(2)设置app2\urls.py

from django.urls import path
from app2 import views
urlpatterns = [
    path('index/', views.index),
]

3、编写app2下的views.py

from django.shortcuts import render,HttpResponse
# Create your views here.
# 绑定博客
def index(request):
    return HttpResponse(111)

4、html页面如何调用url

一般在href或者src中调用一般这样写:

href="/app2/index/" rel="external nofollow"

这样就OK了。

内容扩展:

Django项目下创建多个app

基于Django2.0版本建立的项目。

之前在项目下建立app都是单个的,最近由于需求,需要在单个项目下建立多个app,最简单的方法就是将所有的app都放在与manage.py文件同级的目录下,但是这样的方式会显得项目目录下的文件夹臃肿,对于强迫症的而言简直是一种折磨。

所以我采取了将多个app放在同一个文件夹内的方式来解决这种问题。

myDjango
  ├───.idea
  │  └───inspectionProfiles
  ├───Apps
  │  ├───app01
  │  │  ├───migrations
  │  │  │  └───__pycache__
  │  │  └───__pycache__
  │  └───app02
  │    ├───migrations
  │    │  └───__pycache__
  │    └───__pycache__
  ├───myDjango
  │  └───__pycache__
  └───templates
    ├───app01
    └───app02

myDjango是项目名称,将创建的app放在了Apps文件夹内。这样做使整个项目的看起来干净很多。对于template也采取了类似的做法,将不同应用的template放在不同的目录下,为了使url尽量看起来舒服一点,在每个应用中添加了一个urls.py文件,为了在项目的urls.py文件中引用。

放置好之后在myDjango目录下的setting.py文件进行设置,添加一句

sys.path.insert(0, os.path.join(BASE_DIR, 'Apps'))

做好之后,还需要在myDjango目录下的urls.py文件添加对应的path

from django.contrib import admin
from django.urls import path, include
 
urlpatterns = [
  path('admin/', admin.site.urls),
  path('app02/', include("Apps.app02.urls")),
  path('app01', include("Apps.app01.urls")),
]

到这里基本上就可以在一个项目中设置多个app了。

Python 相关文章推荐
python的常见命令注入威胁
Feb 18 Python
Python的lambda匿名函数的简单介绍
Apr 25 Python
python判断图片宽度和高度后删除图片的方法
May 22 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
Jan 29 Python
Python基础之循环语句用法示例【for、while循环】
Mar 23 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
Jun 21 Python
Python Django简单实现session登录注销过程详解
Aug 06 Python
Django框架 查询Extra功能实现解析
Sep 04 Python
python实现通过队列完成进程间的多任务功能示例
Oct 28 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 Python
Node.js 和 Python之间该选择哪个?
Aug 05 Python
Python识别处理照片中的条形码
Nov 16 Python
Django如何在不停机的情况下创建索引
Aug 02 #Python
如何用Anaconda搭建虚拟环境并创建Django项目
Aug 02 #Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
Aug 02 #Python
Flask缓存静态文件的具体方法
Aug 02 #Python
Flask中sqlalchemy模块的实例用法
Aug 02 #Python
python线程里哪种模块比较适合
Aug 02 #Python
python缩进长度是否统一
Aug 02 #Python
You might like
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
PHP实现二维数组按某列进行排序的方法
2016/11/18 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
php 猴子摘桃的算法
2017/06/20 PHP
做网页的一些技巧
2007/02/01 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
2013/05/13 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
jQuery的each循环用法简单示例
2016/06/12 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
JS中的防抖与节流及作用详解
2019/04/01 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
Python3.5迭代器与生成器用法实例分析
2019/04/30 Python
浅谈Python中(&,|)和(and,or)之间的区别
2019/08/07 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
python用requests实现http请求代码实例
2019/10/31 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
.net软件工程师应聘上机试题
2015/03/10 面试题
财务助理岗位职责
2013/11/10 职场文书
医务人员自我评价
2014/01/26 职场文书
简历的自我评价
2014/02/03 职场文书
初中班干部工作总结
2015/08/10 职场文书
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js