zoukankan      html  css  js  c++  java
  • Django 子程序

    在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他工程项目中需要用到某个特定功能模块时,可以将该模块代码整体复制过去,达到复用。

    Django的视图编写是放在子应用中的

    创建子应用

      python manage.py startapp 子应用名称   #manage.py是创建工程时自动生成的管理文件

      admin.py 文件跟网站的后台管理站点配置相关。

      apps.py 文件用于配置当前子应用的相关信息。

      migrations 目录用于存放数据库迁移历史文件。

      models.py 文件用户保存数据库模型类。

      tests.py 文件用于开发测试用例,编写单元测试。

      views.py 文件用于编写Web应用视图。

    注册安装子应用

      创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该子应用,需要注册安装后才能使用。

      在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用,初始工程中的INSTALLED_APPS如下:

      

     添加好应用后在子应用程序内创建好设定路由文件,路由文件名可以自定义

    路由文件:

    from django.urls import path,re_path
    
    #导入views内写好的方法
    from myapp.views import myapp_index
    
    #写路由配置列表,注意路由尽量不要于主应用路由重名否则会冲突
    urlpatterns = [
        path("",myapp_index),
    ]

    主应用路由包含子路由(include)

    """mysite URL Configuration
    
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/2.0/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  path('', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.urls import include, path
        2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
    """
    from django.contrib import admin
    #使用include模块
    from django.urls import path,include
    urlpatterns = [
        #第一个参数为前缀 直接包含子应用的路由文件
        path('admin/', admin.site.urls),
        path('myapp',include('myapp.urls')),
    ]
  • 相关阅读:
    剑指Offer-30.连续子数组的最大和(C++/Java)
    剑指Offer-29.最小的K个数(C++/Java)
    UVA 1616 Caravan Robbers 商队抢劫者(二分)
    UVA 10570 Meeting with Aliens 外星人聚会
    UVA 11093 Just Finish it up 环形跑道 (贪心)
    UVA 12673 Erratic Expansion 奇怪的气球膨胀 (递推)
    UVA 10954 Add All 全部相加 (Huffman编码)
    UVA 714 Copying Books 抄书 (二分)
    UVALive 3523 Knights of the Round Table 圆桌骑士 (无向图点双连通分量)
    codeforecs Gym 100286B Blind Walk
  • 原文地址:https://www.cnblogs.com/Niuxingyu/p/10367188.html
Copyright © 2011-2022 走看看