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使用ntplib库同步校准当地时间的方法
Jul 02 Python
PyQt5每天必学之切换按钮
Aug 20 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
Apr 25 Python
python+numpy+matplotalib实现梯度下降法
Aug 31 Python
Pandas 按索引合并数据集的方法
Nov 15 Python
Django如何简单快速实现PUT、DELETE方法
Jul 24 Python
Scrapy框架基本命令与settings.py设置
Feb 06 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 Python
Python应用实现双指数函数及拟合代码实例
Jun 19 Python
python的链表基础知识点
Sep 13 Python
python/golang 删除链表中的元素
Sep 14 Python
python基础详解之if循环语句
Apr 24 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
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
vue-cli之router基本使用方法详解
2017/10/17 Javascript
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
Python日志模块logging简介
2015/04/13 Python
在Python中使用元类的教程
2015/04/28 Python
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
python数据结构之链表的实例讲解
2017/07/25 Python
Python的log日志功能及设置方法
2019/07/11 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
会计电算化学生个人的自我评价
2014/02/08 职场文书
高三高考决心书
2014/03/11 职场文书
作风建设年活动总结
2014/08/27 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
Python爬虫基础之爬虫的分类知识总结
2021/05/13 Python