百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

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() 具有四个参数,两个必须参数:routeview,两个可选参数:kwargsname

  • 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 函数来处理这个请求。

相关推荐

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中,...