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 Django(图文)
Nov 04 Python
python使用xlrd模块读写Excel文件的方法
May 06 Python
python统计文本字符串里单词出现频率的方法
May 26 Python
python基础入门学习笔记(Python环境搭建)
Jan 13 Python
R vs. Python 数据分析中谁与争锋?
Oct 18 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
Nov 21 Python
python取代netcat过程分析
Feb 10 Python
python中format()函数的简单使用教程
Mar 14 Python
Python 16进制与中文相互转换的实现方法
Jul 09 Python
python 去除txt文本中的空格、数字、特定字母等方法
Jul 24 Python
关于Python-faker的函数效果一览
Nov 28 Python
python 如何快速复制序列
Sep 07 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伪造referer实例代码
2008/09/20 PHP
php 购物车实例(申精)
2009/05/11 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
Web开发之JavaScript
2012/03/29 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
微信小程序 图片上传实例详解
2017/05/05 Javascript
vue组件中使用props传递数据的实例详解
2018/04/08 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
2020/07/26 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
Python中使用partial改变方法默认参数实例
2015/04/28 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
纯CSS3代码实现switch滑动开关按钮效果
2016/08/30 HTML / CSS
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
报关简历自我评价怎么写
2013/09/19 职场文书
绩效专员岗位职责
2013/12/02 职场文书
科长竞聘演讲稿
2014/05/16 职场文书
小学教师读书活动总结
2014/07/08 职场文书
机关党建工作汇报材料
2014/08/20 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
Python函数中的不定长参数相关知识总结
2021/06/24 Python
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android