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 控制语句
Nov 03 Python
python实现线程池的方法
Jun 30 Python
Python实现Logger打印功能的方法详解
Sep 01 Python
Python for循环中的陷阱详解
Jul 13 Python
Apache,wsgi,django 程序部署配置方法详解
Jul 01 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
jupyter lab文件导出/下载方式
Apr 22 Python
Python Opencv轮廓常用操作代码实例解析
Sep 01 Python
python如何实现DES加密
Sep 21 Python
Python存储读取HDF5文件代码解析
Nov 25 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 Python
Python中request的基本使用解决乱码问题
Apr 12 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学习 变量使用总结
2011/03/24 PHP
浅析php数据类型转换
2014/01/09 PHP
php curl常用的5个经典例子
2017/01/20 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/02/09 Javascript
javascript RadioButtonList获取选中值
2009/04/09 Javascript
详解JavaScript函数绑定
2013/08/18 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
Jquery实现仿京东商城省市联动菜单
2015/11/19 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
Jquery EasyUI $.Parser
2017/06/02 jQuery
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
详解python里使用正则表达式的全匹配功能
2017/10/19 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
2019/05/07 Python
python退出循环的方法
2020/06/18 Python
Python生成器generator原理及用法解析
2020/07/20 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
科茨沃尔德家居商店:Scotts of Stow
2018/06/29 全球购物
老师给学生的表扬信
2014/01/17 职场文书
保护环境倡议书
2014/04/14 职场文书
大学生社会实践评语
2014/04/25 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
Golang之sync.Pool使用详解
2021/05/06 Golang
Redis实现短信验证码登录的示例代码
2022/06/14 Redis