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

『Django』创建app(应用程序)


theme: smartblue

本文简介

点赞 + 关注 + 收藏 = 学会了

00.png

在《『Django』环境搭建》中介绍了如何搭建 Django 环境,并且创建了一个 Django 项目。

在刚接触 Django 时有2个非常基础的功能是需要了解的,一个是“app”(应用程序),另一个是 url(路由)。

本文先介绍一下什么是 Djangoapp,下一篇文章再介绍 url

什么是app(应用程序)?

Django 中,一个"app"(应用程序)是指一个具有特定功能的独立模块,通常用于实现网站的不同部分或功能。

通过创建app(应用程序),你可以更好地组织你的项目代码,并使其更具可重用性。例如,你可能会创建一个名为"blog"的应用程序来处理博客功能,另一个名为"users"的应用程序来处理用户身份验证和管理等功能。

Django 中,通常会将应用程序划分为多个独立的模块,每个模块负责处理特定的功能或业务逻辑。这种模块化的设计使得代码更易于维护和扩展。

对于前端开发者来说,通常也会在项目中根据不同的功能模块创建不同的文件夹来管理。对应回 Django 就是 app 了。

创建app

通过使用命令python manage.py startapp <app_name>,你可以创建一个新的 Django 应用程序。

比如,我要创建一个 blog 的应用层序来处理博客功能。

bash python manage.py startapp blog

一句命令下去,你的项目里就会多一个 blog 目录。

01.png

每个应用程序都有自己的模型(数据结构)、视图(处理请求并返回响应的函数)、模板(用于呈现HTML内容)以及其他可能的资源。对于初学者来说,模型、视图、模版这些功能还是不了解的,没关系,后面的文章会讲到的。

访问app

创建完 app 后,就应该开始使用这个 app 了。

本文先浅浅的讲一下怎么创建 app 视图和怎么访问 app 视图,等后面掌握的知识点多了再继续深挖 app 的功能。初学阶段只需了解 app 的作用即可。

要访问 app ,首先要保证 app 有东西可访问。最简单的做法就是在指定 app 里创建一个视图,可以理解为一个网页。然后配置指定的路由就可以访问到它了。

进入 blog 目录,看到 views.py 这个文件,这个文件就是用来处理视图功能的。在这个文件里写下以下内容。

```python from django.http import HttpResponse from django.shortcuts import render

Create your views here.

def blogIndex(request): return HttpResponse('这里是博客模块的首页') ```

创建一个 blogIndex 方法,然后用 HttpResponse 返回一段文字。

接下来要配置一下路由。打开全局路由的配置文件 demo1/urls.py (因为我创建的项目就叫 demo1,在这个目录下找到 urls.py 这个文件就是用来配置全局路由的。

02.png

demo1/urls.py 里写下这些内容。

```python from django.contrib import admin from django.urls import path from blog.views import blogIndex

urlpatterns = [ path("admin/", admin.site.urls), path("blog/", blogIndex) ] ```

先引入 from blog.views import blogIndex,然后在 urlpatterns 配置一个 blog/ 的路由。

path("admin/", admin.site.urls) 是默认自带的,这个留着,先不用管它。

配置完,再运行 python manage.py runserver ,然后在浏览器里访问 http://127.0.0.1:8000/blog/ 就能看到“这里是博客模块的首页”这段文字了。

03.png

最后总结一下。通过 python manage.py startapp 命令,开发者可以轻松创建新的 Django 应用程序,并开始构建项目的不同部分和功能。应用程序是 Django 项目的核心组成部分,通过良好的组织和管理,可以使项目代码更加清晰、可维护和可扩展。希望本文能够帮助你更好地理解和使用 startapp 命令,提高 Django 项目开发的效率和质量。


点赞 + 关注 + 收藏 = 学会了

IMG_3641.GIF

相关文章:

『Django』创建app(应用程序)

theme: smartblue 本文简介 点赞 关注 收藏 学会了 在《『Django』环境搭建》中介绍了如何搭建 Django 环境&#xff0c;并且创建了一个 Django 项目。 在刚接触 Django 时有2个非常基础的功能是需要了解的&#xff0c;一个是“app”(应用程序)&#xff0c;另一个是 url(路由…...

Docker安装(一)

一、安装Docker 服务器系统&#xff1a;centos 7 1.本地有docker的首先卸载本机docker yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \dock…...

由于bug发现的现象

//********************************* 示例1 ******************************* $flag (float)2; var_dump($flag); if ($flag 2) { } var_dump($flag);//输出结果 float(2) int(2)//********************************* 示例2 ******************************* $flag (floa…...

ES源码四:网络通信层流程

听说ES网络层很难&#xff1f;今天来卷它&#x1f604; 前言 ES网络层比较复杂&#xff0c;分为两个部分&#xff1a; 基于HTTP协议的REST服务端基于TCP实现的PRC框架 插件化设计的网络层模块&#xff08;NetworkModule&#xff09; 入口还是上一章的创建Node构造方法的地方…...

贝锐蒲公英自研异地组网新技术:远程视频监控,流畅度、清晰度大幅提升

在远程视频监控过程中&#xff0c;若遇到网络带宽若遇到网络波动&#xff0c;如&#xff1a;丢包、高延迟等&#xff0c;往往会导致视频流传输时发生数据丢失或延迟现象&#xff0c;从而严重影响视频画面的清晰度和流畅度。 比如&#xff1a;在公司总部集中监看远程矿山或户外水…...

C# aspose word实现模板方式打印及打印速度慢解决方法

1.引用dll nuget或者网上都有下载的方式。不过都要收费。下载地址&#xff1a;https://files.cnblogs.com/files/rolayblog/Tool.zip?t1713322422&downloadtrue 2.打印模板设计 新建一个doc文档&#xff0c;根据自己的需求画页面。 A、普通文本 在word中需要替换值的地方添…...

java纯文字游戏

java纯文字小游戏 package Test2;import java.util.Random;public class Role {private String name ;private int blood;private char gender;private String face;public Role() {}public Role(String name, int blood) {this.name name;this.blood blood;}public String …...

mac IDEA激活 亲测有效

1、官网下载mac版本IDEA并安装 2、打开激活页面 3、下载脚本文件 链接: https://pan.baidu.com/s/1I2BqdfxSJv1A96422rflnA?pwdm494 提取码: m494 4、命令行到该界面&#xff0c;执行 sudo bash idea.sh 可能出现的问题&#xff1a; 查看sh文件&#xff0c;targetFilePath…...

视频怎么去水印,轻松去视频水印的方法

视频水印是为了提高视频的版权保护能力&#xff0c;防止视频被盗用或者不正当使用&#xff0c;但另一方面会破坏视频的流畅度和清晰度&#xff0c;很影响视觉观感和后续创作。想要去除视频水印&#xff0c;下面三种方法你必须得知道&#xff0c;赶紧看过来~ 1、使用美图秀秀(A…...

vue3+element+AntDesign(自动导入)+pina+vite+js+pnpm搭建项目框架

vue3elementAntDesign(自动导入)pinavitejspnpm搭建项目框架 文章目录 vue3elementAntDesign(自动导入)pinavitejspnpm搭建项目框架1. 安装pnpm&#xff1a;通过以下命令安装pnpm&#xff0c;它是一个快速、零配置的包管理工具。2. 初始化项目&#xff1a;在命令行中执行以下命…...

Android Studio XML 预览View 底部移动到右边

以前 XML 的预览都是在右边的&#xff0c;最近不知道为什么突然到下面去了&#xff0c;很不习惯 找半天想把 预览view 移动到右边&#xff0c;一直没找到按钮。 误打误撞移回来了&#xff0c;原来只要再点击一次 split&#xff0c;就可以变动位置了&#xff0c;记录一下。...

计算机网络——实现smtp和pop3邮件客户端

实验目的 运用各种编程语言实现基于 smtp 协议的 Email 客户端软件。 实验内容 1. 选择合适的编程语言编程实现基于 smtp 协议的 Email 客户端软件。 2. 安装 Email 服务器或选择已有的 Email 服务器&#xff0c;验证自己的 Email 客户端软件是否能进行正常的 Email 收发功…...

【Spring】面试题汇总

Spring1. 什么是 Spring 框架?2. 谈谈你对于 Spring IoC 的了解3. 什么是依赖注入4. Spring的依赖注入有几种方式5. 将一个类声明为 Bean 的注解有哪些?6. Component 和 Bean 的区别是什么&#xff1f;7. 注入 Bean 的注解有哪些&#xff1f;8. Bean 的作用域有哪些?9. Bean…...

thinkphp6入门(23)-- 如何导入excel

1. 安装phpexcel composer require phpoffice/phpexcel composer update 2. 前端 <form class"forms-sample" action"../../xxxx/xxxx/do_import_users" method"post" enctype"multipart/form-data"><div class"cont…...

【数据结构3-栈和队列】

数据结构3-栈和队列 1 栈-特殊的线性表-先进后出1.1 栈的三个案例 2 队列-与栈相反-先进先出2.1 队列的案例 3 用C实现栈的代码&#xff1a;4 用C实现队列的代码 1 栈-特殊的线性表-先进后出 1.1 栈的三个案例 2 队列-与栈相反-先进先出 2.1 队列的案例 3 用C实现栈的代码&…...

STL--list双向链表

功能 将数据进行链式存储 链表&#xff08;list&#xff09;是一种物理存储单元上非连续的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接实现的 链表的组成&#xff1a;链表由一系列结点组成 结点的组成&#xff1a;一个是存储数据元素的数据域&#xff0…...

ElasticSearch入门篇

简介 ElasticSearch简介&#xff1a;简称为es&#xff0c; es是一个开源的高扩展的分布式全文检索引擎&#xff0c;它可以近乎实时的存储、检索数据&#xff1b;本身扩展性很好&#xff0c;可以扩展到上百台服务器&#xff0c;处理PB级别的数据。es也使用Java开发并使用Lucene…...

MAXHUB会议解决方案持续进化,以“高效”为核心推动行业发展

4月16日&#xff0c;MAXHUB 2024新品发布会在视源股份&#xff08;002841&#xff09;北京产业园圆满举行。本次发布会以“智会融合 进化不止”为主题&#xff0c;首发MAXHUB高效会议解决方案&#xff0c;以AI智能、开放兼容、场景化交付为方向&#xff0c;为用户提供高效、便捷…...

CentOS 7安装Redis

说明&#xff1a;本文介绍如何在CentOS 7操作系统下安装Redis 下载安装 首先&#xff0c;去官网上下载所需要安装的版本&#xff0c;官网地址&#xff1a;https://download.redis.io/releases/&#xff0c;我这里下载3.2.1版本的 下载完&#xff0c;上传到云服务器上&#xf…...

Kubernetes (K8s) 部署前后端分离项目

要使用Kubernetes (K8s) 部署一个涵盖Django后端、Vue前端、Redis、Nginx、RabbitMQ和MySQL的前后端分离项目,需要遵循以下步骤。这个过程涉及创建和配置多个资源,包括部署(Deployments)、服务(Services)、配置映射(ConfigMaps)、密钥(Secrets)和Ingress规则。 大纲…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节&#xff08;如内存地址值没有用二进制&#xff09; 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么&#xff1a;保存在堆中一块区域&#xff0c;同时在栈中有一块区域保存其在堆中的地址&#xff08;也就是我们通常说的该变量指向谁&…...