校园二手网站开发与设计任务书,全媒体广告策划与营销,网站建设合同合同期限,正保建设工程网站目录 Django创建Django项目启动Django项目引入APP视图函数例如纯文本JSON格式数据重定向渲染页面返回错误提示 FlaskPyramidTornado Django
特点#xff1a;Django是一个全功能的Web框架#xff0c;提供了许多内置的功能和工具#xff0c;如ORM、表单处理、认证等。它的设计… 目录 Django创建Django项目启动Django项目引入APP视图函数例如纯文本JSON格式数据重定向渲染页面返回错误提示 FlaskPyramidTornado Django
特点Django是一个全功能的Web框架提供了许多内置的功能和工具如ORM、表单处理、认证等。它的设计理念是“一切都包含在框架中”因此适合构建复杂的、大型的Web应用程序。优势Django具有强大的开发效率和稳定性提供了完善的文档和活跃的社区支持。它还有丰富的第三方插件和扩展可快速构建功能丰富的Web应用。
创建Django项目
【假设说现在创建了一个名为mysite的项目】
django-admin startproject mysite
# startproject 是一个命令表示创建一个新的Django项目【那么这个文件的tree为】
mysite
{manage.py[这是管理项目文件用于与Django项目进行交互例如运行开发服务器、执行数据库迁移等]mysite{_init_.py[这是一个空文件用于将项目目录标记为Python包]settings.py[这是项目的配置文件包含了项目的各种设置如数据库配置【用户名、密码等等】、静态文件路径、应用程序列表等]urls.py[这是项目的URL配置文件定义了URL与视图函数之间的映射关系用于处理用户请求]asgi.py[这是一个用于异步部署项目的入口文件用于与ASGI服务器进行通信【本质编写socket处理网络请求】]wsgi.py[这是一个用于【同步】部署项目的入口文件用于与Web服务器进行通信【本质编写socket处理网络请求】]}
}启动Django项目
# 进入manage.py所在的上层文件夹
python manage.py runserver引入APP
通常会在django项目中创建app在app中编写项目中的具体业务。
# 进入manage.py所在的上层文件夹
python3 manage.py startapp web_init_.py这是一个空文件用于将app文件夹标识为Python包。admin.py在这个文件中可以注册模型Model到Django的后台管理界面以便在后台管理中对模型进行增删改查操作。apps.py这个文件定义了应用程序的配置类包括应用程序的名称、标签和其他配置选项。models.py在这个文件中你可以定义应用程序的模型Model即数据库表的结构和字段**[类 - SQL]**。tests.py这个文件用于编写应用程序的单元测试代码以确保应用程序的功能正常运行。views.py在这个文件中可以定义应用程序的视图View函数即处理HTTP请求并返回响应的函数或类。migrations文件夹是用于存放应用程序的数据库迁移文件的地方它是Django中管理数据库模式变更的重要组成部分。 【在Django中数据库迁移是一种管理数据库模式变更的机制。当在应用程序的models.py文件中修改了模型Model的结构或字段时需要创建一个数据库迁移文件来记录这些变更。这个迁移文件包含了数据库模式的变更操作例如创建表、添加字段、修改字段等。】
视图函数
在 Django 项目中视图函数通常会返回不同类型的响应常见的返回值包括
例如纯文本
HttpResponse视图函数可以返回一个 HttpResponse 对象用于返回包含指定内容的 HTTP 响应。可以是纯文本、HTML 内容或者其他数据。例如
from django.http import HttpResponsedef my_view(request):return HttpResponse(Hello, World!)JSON格式数据
JsonResponse当需要返回 JSON 格式的数据时视图函数可以返回一个 JsonResponse 对象。这通常用于 AJAX 请求或者提供 API 服务。例如
from django.http import JsonResponsedef my_json_view(request):data {key: value}return JsonResponse(data)重定向
HttpResponseRedirect如果需要重定向到另一个 URL可以返回一个 HttpResponseRedirect 对象。例如
from django.http import HttpResponseRedirectdef my_redirect_view(request):return HttpResponseRedirect(/new_url/)渲染页面
Render视图函数也可以使用模板来渲染页面通过返回 render 函数来实现。render 函数会渲染指定的模板并将上下文数据传递给模板。【优先去setting.py 文件中寻找TEMPLATES的DIRS: [],其次是去注册了的app目录下的TEMPLATES文件夹】例如
from django.shortcuts import renderdef my_template_view(request):context {name: Alice}return render(request, my_template.html, context)返回错误提示
HttpResponseNotFound、HttpResponseServerError 等Django 还提供了一些特定状态码的响应对象比如 HttpResponseNotFound 用于返回 404 错误页面HttpResponseServerError 用于返回 500 错误页面等。
Flask
特点Flask是一个轻量级的Web框架它的设计简单、灵活没有过多的约束。它提供了基本的功能如路由、模板引擎等但其他高级功能需要使用第三方扩展。优势Flask非常适合构建小型的、简单的Web应用它的学习曲线较低灵活性高可以根据需求选择合适的扩展。同时Flask的性能也比较好适合处理高并发的请求。
Pyramid
特点Pyramid是一个通用的Web框架它的设计目标是简单、可扩展和可维护。它提供了灵活的URL路由、视图、模板等功能同时也支持各种第三方库和工具。优势Pyramid具有良好的可扩展性和灵活性可以根据项目的需求选择合适的组件和工具。它的文档详细社区活跃有很多示例和教程可供参考。
Tornado
特点Tornado是一个高性能的Web框架它使用非阻塞的I/O模型适合处理高并发的请求。它还提供了异步的特性可以方便地处理长连接和实时通信。优势Tornado的性能非常出色适合构建需要高并发和实时性的Web应用。它还有一些内置的工具和库如异步HTTP客户端、WebSocket等方便开发者进行开发。