当前位置: 首页 > news >正文

MyBlog(三) -- APP的应用

文章目录

  • 前言
  • 一、APP是什么?
  • 二、创建APP
  • 三、使用APP
    • 1. 注册app
    • 2. 添加路由
    • 3. 运行过程
    • 4. 完善视图函数
    • 5. 结果展示
  • 总结


前言

前面我们已经学习了如何创建一个新的项目,并且配置好了项目的启动文件,成功将项目启动!

那么接下来我们的主要任务就是需要完善这个项目中应该包含的内容,使得我们的这个页面更加丰富多彩!


一、APP是什么?

在Django中,一个app是一个可以独立运行的Web应用程序模块。每个app都包含了特定功能的代码和相关的模板、静态文件等资源,可以实现其特定的功能。

  • 一个app通常包含以下几个主要部分(常用)

    • models:定义了与数据库相关的数据模型。这些模型用于创建数据库表、定义字段类型以及数据的验证规则等。
    • views:处理用户请求并返回响应的函数或类。views接收到用户请求后,通过models层来获取或更新数据,并通过模板将数据渲染成HTML页面返回给用户。
    • templates:包含HTML模板文件,用于定义页面的结构和内容。模板可以使用Django提供的模板语言来动态地插入数据。
    • static:包含静态文件,如CSS样式表、JavaScript脚本、图像等。这些文件可以通过URL路径直接访问,不需要经过Django的动态处理。

除了以上的核心部分,一个app还可以包含其他辅助文件,如URL配置文件、管理后台配置文件、单元测试文件等。

在Django项目中,可以将多个app组合起来,形成一个完整的Web应用程序。每个app都负责处理某个具体的功能,并与其他app进行协作,实现整个应用的功能。这种模块化的设计使得开发和维护变得更加灵活和可扩展。同时,Django提供了一套完善的工具和约定,使得开发者可以快速构建一个可靠的Web应用程序。

二、创建APP

关于如何在Django项目中创建一个APP,在上一节中我们已经简要介绍了APP的创建方式和基础机构,因此这里我们就不再多做阐述了,有不清楚的可以跳转查看!

三、使用APP

  • 既然已经有了一个app,那我们可以完善该app的功能
  • 例:在app中编写程序来展示首页信息

1. 注册app

tips:只有注册完之后我们才可以使用这个app
在这里插入图片描述

2. 添加路由

在这之前,确保我们已经创建好了一个名为articles的app,并且将这个应用注册到该项目中

# myblog/urls.py文件
from django.contrib import admin 
from django.urls import path 
from app01.views import index
# 导入文件url
patterns =[path('admin/',admin.site.urls),# path('路由(网址匹配规则)','对应的视图') 所有的视图功能的文件代码都会放到views中来写path('index/',views.index)#添加路由
]

3. 运行过程

请添加图片描述

4. 完善视图函数

# articles/views.py文件
from django.http import HttpResponse#导入的模块
from django.shortcuts import render# 编写以下函数 -- 第一种
def index(request):return HttpResponse('欢迎进入首页'

5. 结果展示

在这里插入图片描述


总结

本节我们认识了app的使用方式,并且在页面上成功返回了我们想要的文字,继续学习,创造更好的blog!

http://www.lryc.cn/news/487632.html

相关文章:

  • docker有哪些网络模式
  • npoi 如何设置单元格为文本类型
  • Vue3、Vite5、Primevue、Oxlint、Husky9 简单快速搭建最新的Web项目模板
  • DataStream编程模型之数据源、数据转换、数据输出
  • 海康IPC接入TRTC时,从海康中获取的数据显示时色差不正确
  • 『VUE』31. 生命周期的应用(详细图文注释)
  • Mybatis框架之建造者模式 (Builder Pattern)
  • Java从入门到精通笔记篇(十三)
  • 嵌入式:STM32的启动(Startup)文件解析
  • ElasticSearch学习笔记四:基础操作(二)
  • ODA-em-application.log太大处理
  • 基于现金红包营销活动的开源 AI 智能名片与 S2B2C 商城小程序融合发展研究
  • 远程管理不再难!树莓派5安装Raspberry Pi OS并实现使用VNC异地连接
  • React中 setState 是同步的还是异步的?调和阶段 setState 干了什么?
  • 【D3.js in Action 3 精译_040】4.4 D3 弧形图的绘制方法
  • C++设计模式:抽象工厂模式(风格切换案例)
  • 搜维尔科技:Xsens随时随地捕捉,在任何环境下实时录制或捕捉
  • 爬虫基础总结 —— 附带爬取案例
  • 图像处理学习笔记-20241118
  • 不能打开网页,但能打开QQ、微信(三种方式)
  • 使用 start-local 脚本在本地运行 Elasticsearch
  • 计算机网络:概述知识点及习题练习
  • python蓝桥杯刷题2
  • 在openi平台 基于华为顶级深度计算平台 openmind 动手实践
  • KF UKF
  • 中伟视界:AI智能分析算法如何针对非煤矿山的特定需求,提供定制化的安全生产解决方案
  • Unity 编辑器下 Android 平台 Addressable 加载模型粉红色,类似材质丢失
  • Pytest-Bdd-Playwright 系列教程(10):配置功能文件路径 优化场景定义
  • rust逆向初探
  • 【Linux】apt 关闭 ssl 认证