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 学习笔记
Dec 27 Python
Python抽象类的新写法
Jun 18 Python
利用Python找出序列中出现最多的元素示例代码
Dec 08 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
python3+selenium实现126邮箱登陆并发送邮件功能
Jan 23 Python
django与小程序实现登录验证功能的示例代码
Feb 19 Python
Python TestCase中的断言方法介绍
May 02 Python
python根据多个文件名批量查找文件
Aug 13 Python
详解PyTorch中Tensor的高阶操作
Aug 18 Python
pytorch中tensor张量数据类型的转化方式
Dec 31 Python
浅谈ROC曲线的最佳阈值如何选取
Feb 28 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
Apr 10 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的日期与时间函数技巧
2008/04/24 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
Python抽象类的新写法
2015/06/18 Python
简介Django框架中可使用的各类缓存
2015/07/23 Python
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
基于Python的PIL库学习详解
2019/05/10 Python
python监控进程状态,记录重启时间及进程号的实例
2019/07/15 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
Python 日期与时间转换的方法
2020/08/01 Python
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
自荐信的基本格式
2014/02/22 职场文书
公司收款委托书范本
2014/09/20 职场文书
2014年超市员工工作总结
2014/11/18 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js