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')),
    ]
  • 相关阅读:
    Docker——搭建SFTP
    PicGo——利用PicGo和GitHub搭建免费图床提供给Typecho使用
    GitHub——如何生成Personal access tokens
    leetcode——两数相加【二】
    每天一道面试题——请实现add(1,2)(3)【二】
    leetcode——两数之和【一】
    每天一道面试题——JavaScript的this指向【一】
    PHP——安装ThinkPHP框架报错
    项目代码 if/else 过多,引起程序猿口吐莲花
    JDK9-JDK14 相关新特性说明及使用
  • 原文地址:https://www.cnblogs.com/Niuxingyu/p/10367188.html
Copyright © 2011-2022 走看看