django下创建多个app并设置urls方法

 更新时间:2020-08-02 16:08:31   作者:佚名   我要评论(0)

1、创建第二个app
假设我们项目P下面已经有了一个默认的app,名字是app1。现在我想创建第二个app,名字时app2。
进入pychram下的Terminal中,运行命令:




pytho

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了。

您可能感兴趣的文章:

  • django多个APP的urls设置方法(views重复问题解决)

相关文章

  • django下创建多个app并设置urls方法

    django下创建多个app并设置urls方法

    1、创建第二个app 假设我们项目P下面已经有了一个默认的app,名字是app1。现在我想创建第二个app,名字时app2。 进入pychram下的Terminal中,运行命令: pytho
    2020-08-02
  • 基于opencv实现简单画板功能

    基于opencv实现简单画板功能

    OpenCV提供了很多简单的语句,实现复杂的功能,根据颜色和鼠标交互的基础语句,我们可以建立一个简单的画板。尽管它简单,但是制作的框架步骤不能少。 如果您感兴趣
    2020-08-02
  • 原生js+canvas实现贪吃蛇效果

    原生js+canvas实现贪吃蛇效果

    本文实例为大家分享了canvas实现贪吃蛇效果的具体代码,供大家参考,具体内容如下 效果展示: 源码展示: 页面布局展示:worm.html <!DOCTYPE html> <html> <he
    2020-08-02
  • flask开启多线程的具体方法

    flask开启多线程的具体方法

    在我之前解释了flask如何支持多线程主要通过两个类来实现,LocalStack和Local,在Local中有两个属性,__storage__和__ident_func__,后者用来获取线程id,从而区分不同线
    2020-08-02
  • Python改变对象的字符串显示的方法

    Python改变对象的字符串显示的方法

    问题 你想改变对象实例的打印或显示输出,让它们更具可读性。 解决方案 要改变一个实例的字符串表示,可重新定义它的 __str__() 和 __repr__() 方法。例如: c
    2020-08-02
  • Android入门计算器编写代码

    Android入门计算器编写代码

    这个简易计算器是我按照一本android开发入门书学的,书上的第一个例子就是计算器的编写。计算器的编写主要涉及到按键的布局和按键输入要点。 一个总的Lnearlayout的
    2020-08-02
  • javascript实现京东登录显示隐藏密码

    javascript实现京东登录显示隐藏密码

    本文实例为大家分享了javascript仿京东登录显示隐藏密码的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U
    2020-08-02
  • JavaScript实现动态生成表格

    JavaScript实现动态生成表格

    本文实例为大家分享了JavaScript实现动态生成表格的具体代码,供大家参考,具体内容如下 功能描述 在输入框中输入行和列,点击按钮,生成拥有对应行和列的表格。如下
    2020-08-02
  • Python接收手机短信的代码整理

    Python接收手机短信的代码整理

    python解决接口测试获取手机验证码问题的方法: Android在收到短信后会发送一个Action为android.provider.Telephony.SMS_RECEIVED的广播,所以我们只需要写个类继承
    2020-08-02
  • python缩进长度是否统一

    python缩进长度是否统一

    Python 对代码的缩进要求非常严格,同一个级别代码块的缩进量必须一样,否则解释器会报 SyntaxError 异常错误。 在 Python 中,对于类定义、函数定义、流程控制语句
    2020-08-02

最新评论