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 socket实现简单聊天室
Apr 01 Python
Python开发最牛逼的IDE——pycharm
Aug 01 Python
python 重命名轴索引的方法
Nov 10 Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 Python
Python开发之pip安装及使用方法详解
Feb 21 Python
python对XML文件的操作实现代码
Mar 27 Python
使用keras2.0 将Merge层改为函数式
May 23 Python
python的flask框架难学吗
Jul 31 Python
python爬虫使用正则爬取网站的实现
Aug 03 Python
通过实例简单了解python yield使用方法
Aug 06 Python
python 下载m3u8视频的示例代码
Nov 11 Python
Python基础学习之奇异的GUI对话框
May 27 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配置php-fpm启动参数及配置详解
2013/11/04 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
javascript 继承实现方法
2009/08/26 Javascript
基于jquery的商品展示放大镜
2010/08/07 Javascript
jQuery中需要注意的细节问题小结
2011/12/06 Javascript
js使用循环清空某个div中的input标签值
2014/09/29 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
微信小程序之页面拦截器的示例代码
2017/09/07 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
python中使用%与.format格式化文本方法解析
2017/12/27 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
python使用tornado实现登录和登出
2018/07/28 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
python实现键盘输入的实操方法
2019/07/16 Python
Python接口测试get请求过程详解
2020/02/28 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
python如何使用腾讯云发送短信
2020/09/17 Python
python 通过exifread读取照片信息
2020/12/24 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
视光学毕业生自荐书范文
2014/02/13 职场文书
土建专业大学生自荐信范文
2014/04/09 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
大班上学期个人总结
2015/02/13 职场文书
代理词怎么写
2015/05/25 职场文书
运动员加油词
2015/07/18 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
MySQL 逻辑备份 into outfile
2022/05/15 MySQL