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元组操作实例解析
Sep 23 Python
跟老齐学Python之玩转字符串(2)更新篇
Sep 28 Python
python使用线程封装的一个简单定时器类实例
May 16 Python
浅谈python类属性的访问、设置和删除方法
Jul 25 Python
python 实现自动远程登陆scp文件实例代码
Mar 13 Python
Python 自动化表单提交实例代码
Jun 08 Python
基于Python3 逗号代码 和 字符图网格(详谈)
Jun 22 Python
Python使用修饰器执行函数的参数检查功能示例
Sep 26 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
书单|人生苦短,你还不用python!
Dec 29 Python
pycharm访问mysql数据库的方法步骤
Jun 18 Python
Python requests及aiohttp速度对比代码实例
Jul 16 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
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
php操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
2018/01/29 PHP
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
node.js中watch机制详解
2014/11/17 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
三维科技面试题
2013/07/27 面试题
物流合作计划书
2014/01/10 职场文书
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书
行为规范主题班会
2015/08/13 职场文书
2016年情人节问候语
2015/11/11 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
JavaScript流程控制(循环)
2021/12/06 Javascript
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL