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实现删除文件中含“指定内容”的行示例
Jun 09 Python
python 实现语音聊天机器人的示例代码
Dec 02 Python
python 遍历列表提取下标和值的实例
Dec 25 Python
Python将json文件写入ES数据库的方法
Apr 10 Python
python如何实现视频转代码视频
Jun 17 Python
python挖矿算力测试程序详解
Jul 03 Python
python经典趣味24点游戏程序设计
Jul 26 Python
python rsync服务器之间文件夹同步脚本
Aug 29 Python
Python根据服务获取端口号的方法
Sep 25 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
Mar 30 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
Pandas实现DataFrame的简单运算、统计与排序
Mar 31 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递归遍历删除文件的方法
2015/04/17 PHP
MooTools 1.2介绍
2009/09/14 Javascript
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
Bootstrap和Java分页实例第二篇
2016/12/23 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
pymssql数据库操作MSSQL2005实例分析
2015/05/25 Python
儿童python练习实例
2018/05/27 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
python计算n的阶乘的方法代码
2019/10/25 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
知识改变命运演讲稿
2014/05/21 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书
Python进行区间取值案例讲解
2021/08/02 Python
vue使用watch监听属性变化
2022/04/30 Vue.js