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中使用AOP实现Redis缓存示例
Jul 11 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 Python
python pip源配置,pip配置文件存放位置的方法
Jul 12 Python
Python3 元组tuple入门基础
Feb 09 Python
Python参数传递对象的引用原理解析
May 22 Python
解决Keras自带数据集与预训练model下载太慢问题
Jun 12 Python
推荐值得学习的12款python-web开发框架
Aug 10 Python
如何判断pytorch是否支持GPU加速
Jun 01 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 Python
Python PIL按比例裁剪图片
May 11 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
封装一个PDO数据库操作类代码
2009/09/09 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
2015/03/17 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
2015/08/06 Javascript
javascript基本算法汇总
2016/03/09 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
详解angularJs中关于ng-class的三种使用方式说明
2017/06/02 Javascript
Vue动态生成表格的行和列
2019/07/18 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
Python中的heapq模块源码详析
2019/01/08 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
Python如何计算语句执行时间
2019/11/22 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
迪拜航空官方网站:flydubai
2017/04/20 全球购物
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
中专毕业生自我鉴定
2013/11/21 职场文书
创新型城市实施方案
2014/03/06 职场文书
医院院务公开实施方案
2014/05/03 职场文书
2014年母亲节寄语
2014/05/07 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
社区好人好事材料
2014/12/26 职场文书
北京导游词
2015/02/12 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
同事去世追悼词
2015/06/23 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书
python如何查找列表中元素的位置
2022/05/30 Python