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中的集合类型知识讲解
Aug 19 Python
浅析Python中signal包的使用
Nov 13 Python
Python中的条件判断语句基础学习教程
Feb 07 Python
Python中str.format()详解
Mar 12 Python
Python实现注册、登录小程序功能
Sep 21 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
Python requests设置代理的方法步骤
Feb 23 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 Python
详解numpy.ndarray.reshape()函数的参数问题
Oct 13 Python
python中字符串的编码与解码详析
Dec 03 Python
python实现图像随机裁剪的示例代码
Dec 10 Python
Python使用UDP实现720p视频传输的操作
Apr 24 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的ZIP压缩类分享
2014/05/04 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
详解使用php调用微信接口上传永久素材
2017/04/11 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
javascript实现下雪效果【实例代码】
2016/05/03 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
Form表单上传文件(type="file")的使用
2017/08/03 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
深入浅出理解JavaScript闭包的功能与用法
2018/08/01 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
vue使用exif获取图片经纬度的示例代码
2020/12/11 Vue.js
uni-app 自定义底部导航栏的实现
2020/12/11 Javascript
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
回调函数的意义以及python实现实例
2017/06/20 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
Python项目跨域问题解决方案
2020/06/22 Python
python空元组在all中返回结果详解
2020/12/15 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
什么是网络协议
2016/04/07 面试题
Linux机考试题
2015/10/16 面试题
工商学院毕业生自荐信
2013/11/12 职场文书
自我评价正确写法范文
2013/12/10 职场文书
2014年上半年工作自我评价
2014/01/18 职场文书
机工车间主任岗位职责
2014/03/05 职场文书
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python