Python Django Web 框架编程 - 创建应用及视图
wptr33 2024-11-26 09:30 22 浏览
现在开发环境中的 mysite 项目已经配置好了,可以开始开发实际的应用了。
在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定。Django 自带一个工具,可以帮助生成应用的基础目录结构,这样就能专心写代码,而不是创建目录结构了。
创建投票应用
项目和应用的区别
应用(App)是一个专门做某件事的网络应用程序,例如博客系统,或者公共记录的数据库,或者小型的投票程序等。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。
创建应用 App
一个项目包含多个应用app。一个app 通常就是一个相对独立的模块 ,实现相对独立的功能。
在 VSCode 中,点击 Toggle Panel,显示出 Terminal Panel,在Terminal Panel中点击一下,然后按 Ctrl + C,切换回项目目录,然后输入下面的命令:
python manage.py startapp polls # polls 就是应用名字
执行完之后,就创建了 polls 应用,会发现多了一个 polls 文件夹,这里保持的就是应用 App 的代码。同时也多了一个文件 db.sqlite3,这是 Django 默认自带的数据库,可以直接使用。当然也可以配置其他数据库,例如 mysql 数据库。
polls 应用下各文件说明如下图:
注册应用
在项目设置文件 settings.py 中的 INSTALLED_APPS 添加应用 polls,完成注册过程。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls', #注册应用 polls
]
编写视图
打开 polls/views.py,把下面这些 Python 代码输入进去:
from django.http import HttpResponse
#定义视图函数
def index(request):
return HttpResponse("你好,这里是第一个 Django 页面!")
这是 Django 中最简单的视图。当然现在还看不到效果,如果想看见效果,需要将一个 URL 映射到它。
URL 配置
在 VSCode在,在 polls 目录点击右键,选择“New File”,然后输入文件名urls.py,就新建一个 urls.py 文件,该文件实现了绑定 URL 到 views.py 的视图函数。
在 polls/urls.py 中,输入如下代码:
from django.urls import path
from . import views
urlpatterns = [
path('index', views.index, name='index'), #表示将 polls 应用的默认页绑定到了 index 视图函数
]
然后需要在主路由 urls.py 文件中指定新创建的 polls.urls 模块。在 mysite/urls.py 文件的 urlpatterns 列表里插入一个 include(), 如下:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')), #将polls.urls 模块包含进来
path('admin/', admin.site.urls),
]
函数 include() 允许引用其它 URL。每当 Django 遇到 include() 时,它会截断与此项匹配的 URL 的部分,并将剩余的字符串发送到 URL 以供进一步处理。
设计 include() 的理念是使其可以即插即用。因为 polls 应用有它自己的 URL( polls/urls.py ),他们能够被放在 "/polls/" , "/fun_polls/" ,"/content/polls/",或者其他任何路径下,这个应用都能够正常工作。
重新启动服务器,在 VDCode 的 Terminal panel 中运行 runserver:
python manage.py runserver
浏览器访问 http://localhost:8000/polls/index,你应该能够看见 "你好,这里是第一个 Django 页面!" ,这是在 index 视图函数中定义的返回内容。
path() 函数
函数 path() 具有四个参数,两个必须参数:route 和 view,两个可选参数:kwargs 和 name。
- route 是一个匹配 URL 的准则(类似正则表达式)。当 Django 响应一个请求时,它会从 urlpatterns 的第一项开始,按顺序依次匹配列表中的项,直到找到匹配的项。这些准则不会匹配 GET 和 POST 参数或域名。
- view 当 Django 找到了一个匹配的准则,就会调用这个特定的视图函数,并传入一个 HttpRequest 对象作为第一个参数,被“捕获”的参数以关键字参数的形式传入。
- kwargs 任意个关键字参数可以作为一个字典传递给目标视图函数。
- name 为 URL 取个名字,能够在 Django 的任意地方唯一地引用它,尤其是在模板中。这个有用的特性允许在只改一个文件就能全局地修改某个 URL 模式。
url路由
在创建项目目录的时候,在项目的设置目录下,有如下的一个 urls.py 文件,这个是主路由文件。这个文件是 url路由设置的入口文件。文件中 urlpatterns 列表就是 Django 的 url 路由的入口。里面是一条条的路由记录,例如添加的:path('polls/', include('polls.urls')),
就是告诉当前端过来的请求 url地址 是 /polls/ (注意:最后的一个斜杠不能省略) ,函数 include() 允许引用子路由文件,例如应用 polls 的 urls.py。每当 Django 遇到 include() 时,它会截断与此项匹配的 URL 的部分,并将剩余的字符串发送到子路由文件以供进一步处理。
在应用 polls 中,urls.py 文件是子 url 路由设置的入口文件。文件中 urlpatterns 列表就是 Django 的 url 路由的入口。里面是一条条的路由记录,例如:path('index/', views.index, name='index')
就是告诉当前端过来的请求 url地址 是 /polls/index/ (注意:最后的一个斜杠不能省略) , 就由 views.py 里面的函数 index 来处理。
所以,所谓路由就是指 : 根据 HTTP请求的url路径, 设置 由哪个 view 函数来处理这个请求。
- 上一篇:47 张图带你 MySQL 进阶
- 下一篇:35 张图带你 MySQL 调优
相关推荐
- Python自动化脚本应用与示例(python办公自动化脚本)
-
Python是编写自动化脚本的绝佳选择,因其语法简洁、库丰富且跨平台兼容性强。以下是Python自动化脚本的常见应用场景及示例,帮助你快速上手:一、常见自动化场景文件与目录操作...
- Python文件操作常用库高级应用教程
-
本文是在前面《Python文件操作常用库使用教程》的基础上,进一步学习Python文件操作库的高级应用。一、高级文件系统监控1.1watchdog库-实时文件系统监控安装与基本使用:...
- Python办公自动化系列篇之六:文件系统与操作系统任务
-
作为高效办公自动化领域的主流编程语言,Python凭借其优雅的语法结构、完善的技术生态及成熟的第三方工具库集合,已成为企业数字化转型过程中提升运营效率的理想选择。该语言在结构化数据处理、自动化文档生成...
- 14《Python 办公自动化教程》os 模块操作文件与文件夹
-
在日常工作中,我们经常会和文件、文件夹打交道,比如将服务器上指定目录下文件进行归档,或将爬虫爬取的数据根据时间创建对应的文件夹/文件,如果这些还依靠手动来进行操作,无疑是费时费力的,这时候Pyt...
- python中os模块详解(python os.path模块)
-
os模块是Python标准库中的一个模块,它提供了与操作系统交互的方法。使用os模块可以方便地执行许多常见的系统任务,如文件和目录操作、进程管理、环境变量管理等。下面是os模块中一些常用的函数和方法:...
- 21-Python-文件操作(python文件的操作步骤)
-
在Python中,文件操作是非常重要的一部分,它允许我们读取、写入和修改文件。下面将详细讲解Python文件操作的各个方面,并给出相应的示例。1-打开文件...
- 轻松玩转Python文件操作:移动、删除
-
哈喽,大家好,我是木头左!Python文件操作基础在处理计算机文件时,经常需要执行如移动和删除等基本操作。Python提供了一些内置的库来帮助完成这些任务,其中最常用的就是os模块和shutil模块。...
- Python 初学者练习:删除文件和文件夹
-
在本教程中,你将学习如何在Python中删除文件和文件夹。使用os.remove()函数删除文件...
- 引人遐想,用 Python 获取你想要的“某个人”摄像头照片
-
仅用来学习,希望给你们有提供到学习上的作用。1.安装库需要安装python3.5以上版本,在官网下载即可。然后安装库opencv-python,安装方式为打开终端输入命令行。...
- Python如何使用临时文件和目录(python目录下文件)
-
在某些项目中,有时候会有大量的临时数据,比如各种日志,这时候我们要做数据分析,并把最后的结果储存起来,这些大量的临时数据如果常驻内存,将消耗大量内存资源,我们可以使用临时文件,存储这些临时数据。使用标...
- Linux 下海量文件删除方法效率对比,最慢的竟然是 rm
-
Linux下海量文件删除方法效率对比,本次参赛选手一共6位,分别是:rm、find、findwithdelete、rsync、Python、Perl.首先建立50万个文件$testfor...
- Python 开发工程师必会的 5 个系统命令操作库
-
当我们需要编写自动化脚本、部署工具、监控程序时,熟练操作系统命令几乎是必备技能。今天就来聊聊我在实际项目中高频使用的5个系统命令操作库,这些可都是能让你效率翻倍的"瑞士军刀"。一...
- Python常用文件操作库使用详解(python文件操作选项)
-
Python生态系统提供了丰富的文件操作库,可以处理各种复杂的文件操作需求。本教程将介绍Python中最常用的文件操作库及其实际应用。一、标准库核心模块1.1os模块-操作系统接口主要功能...
- 11. 文件与IO操作(文件io和网络io)
-
本章深入探讨Go语言文件处理与IO操作的核心技术,结合高性能实践与安全规范,提供企业级解决方案。11.1文件读写11.1.1基础操作...
- Python os模块的20个应用实例(python中 import os模块用法)
-
在Python中,...
- 一周热门
-
-
C# 13 和 .NET 9 全知道 :13 使用 ASP.NET Core 构建网站 (1)
-
因果推断Matching方式实现代码 因果推断模型
-
git pull命令使用实例 git pull--rebase
-
面试官:git pull是哪两个指令的组合?
-
git 执行pull错误如何撤销 git pull fail
-
git pull 和git fetch 命令分别有什么作用?二者有什么区别?
-
git fetch 和git pull 的异同 git中fetch和pull的区别
-
git pull 之后本地代码被覆盖 解决方案
-
还可以这样玩?Git基本原理及各种骚操作,涨知识了
-
git命令之pull git.pull
-
- 最近发表
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)
- git commit (34)