python--web框架:Django

Python三大Web框架对比:Django、Flask与FastAPI Web框架是现代Web开发的核心工具,通过封装底层协议和通用功能,开发者可以更高效地构建应用。Python生态中的Django、Flask和FastAPI分别代表了全栈式、微框架和异步API三种技术路线。Django以其内置ORM和Admin系统著称,适合企业级应用;Flask通过扩展机制保持灵活性,是快速原型开发的首选;FastAPI利用异步编程和类型提示,在微服务架构中表现优异。理解这些框架的设计哲学和适用场景,对于技术选型和架构设计至关重要,特别是在处理高并发请求或构建RESTful API时,Fas 阅读详情

Django

        Python下有许多款不同的 Web 框架,如: Django、Tornado、Flask 等多种.

        Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django相较与其他

WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。

        Django是一个开放源代码的Web应用框架,由Python写成.

Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。

     MVC是众所周知的模式,

      即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制器)。

      其中:

      M——管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。

      C—— 接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模

型”和“视图”隔离,并成为二者之间的联系纽带。

      V——负责把数据格式化后呈现给用户。

Django也是一个MVC框架。但是在Django中,控制器接受用户输入的部分由框架

自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)

视图(Views),称为 MTV模式:

       M 代表模型(Model),即数据存取层。 该层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

       T 代表模板(Template),即表现层。 该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。

       V 代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。

Django 基本配置

    安装Django



然后在pycharm里面创建项目


选择Django栏目,输入项目名称,这里采用国际惯例的mysite。选择python解释器版本,点击create创建。
Django将自动生成下面的目录结构:


与项目同名的目录中是配置文件,templates目录是html文件存放也就是MTV中的T。manage.py是django项目管理文件。


setting文件默认代码注释

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
#向上找两级,获取基地址
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '@jm-+mpxpv-@3%=o^fij9w+dtsil=18&6bpt*akkv+=422-vsl'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []


# Application definition
#APP信息,自己新建的项目如果没有自动加入,可以再次手动加进去
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
]

# 中间件配置
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    #'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'django_lesson.urls'

#模板(HTML页面)路径相关配置
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

#网页服务网关协议消息
WSGI_APPLICATION = 'django_lesson.wsgi.application'


# Database
# https://docs.djangoproject.com/en/1.10/ref/settings/#databases
#数据库配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}


# Password validation
# https://docs.djangoproject.com/en/1.10/ref/settings/#auth-password-validators

#认证相关
AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]


# Internationalization
# https://docs.djangoproject.com/en/1.10/topics/i18n/

# 语言
LANGUAGE_CODE = 'en-us'
# 时间
TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/

# 静态文件
STATIC_URL = '/static/'
#单级目录静态文件
 STATICFILES_DIRS=(
     os.path.join(BASE_DIR,"statics"),
 )

urls.py详解

        URl分发器 (路由配置文件)
            URL配置(URLconf)就像django所支持网站的目录。它在本质是URL模式以及要为改URL 模式调用的视图函数之间的映射表。你就是这种方式告诉django,对于这个URL调用这段代码, 对于那个URL调用那段代码,URL的加载时从配置文件中开始。


wsgi.py(运行的文件)  -->  settings.py

            设置允许那些主机可以访问,
            安装指定的app,
            安装指定的中间件,
            指定模版目录,
            指定数据库引擎,
            指定国际化,
            指定静态资源

            加载路由规则  -->  urls.py     

            path 来映射url和执行的views函数  -->  响应给用户结果  用的是render(渲染器):请求对象,模版名称,是一个字典  -->  html字符串.利用网络输出流返回客户端   views在返回数据库之前完成数据的增删改查

开始做项目了!!!

         其中models.py承载数据的对象并提供了对数据的curd(增删改查) 可以生成数

据库表在这里我设置了两个简单的字段用户名和密码









Flask 与 Django:Python Web 开发框架的深度对比分析 Flask与Django是Python两大主流Web框架,各有特点。Flask作为轻量级微框架,设计简洁灵活,适合小型项目和微服务,需自行扩展功能;Django是全栈框架,内置ORM、用户认证等完备功能,适合快速开发复杂应用。两者在路由、模板、数据库等核心功能实现上差异显著:Flask采用装饰器路由、可选Jinja2模板,Django使用分离式URL配置、内置模板系统。性能上Flask响应更快,Django更适合数据密集型项目。选择时应考虑项目规模、复杂度及团队需求:小型灵活项目选Flask,大型全功能项目 阅读详情

相关推荐

Django:高效易用的Python Web框架

它提供了一套完整的工具和功能,帮助开发者快速构建功能强大的Web应用程序。1.1 全功能性:Django提供了许多内置的组件和功能,如认证系统、数据库ORM、表单处理、缓存等。1.3 易用性:Django提供了清晰、简洁的API接口和文档,使得开发者能够快速上手并快速构建应用。1.2 高效性:Django采用了一些优化策略,如延迟加载、查询缓存等,以提高应用的性能。在浏览器中访问"http://localhost:8000/hello/",将看到显示"Hello, Django!2.1 安装Django。

JieLun_C的博客 420

windows下安装Django+Python

本人菜鸟一只,博客用于记录学习新知识中遇到的

ryanho84的专栏 566

CMOS锁相环核心:四种鉴频鉴相器(PFD)结构深度剖析与选型指南

本文深入剖析了CMOS锁相环中四种鉴频鉴相器(PFD)的结构与性能,包括传统RS触发器型、非时钟型、预充电型和边沿触发型PFD。通过详细的电路分析、实测数据和工程案例,提供了PFD选型的实用指南,帮助工程师根据速度、功耗和精度需求选择最优方案,提升锁相环设计效率。

weixin_42530458的博客 588

python web开发框架django安装和测试

python web

fqf_520的专栏 874

BMW Standard Tools 宝马FSC工具套装下载

这是一款非常专业的一套宝马编码工具,懂行的人自然知道他的用处,不懂行的人,我解释再多也不会明白的,需要的拿去吧。软件名:BMW Standard Tools包含工具:BMW Coding Tool v2.50、change Language、CIC Mafia、Dr.Gini B021、EasyConnect、EDIABAS Konfigurator v1.1、EDIABAS Konfigurator v2.0.0、FSC-Tools_2.18、FSTool_v2_CarServer、INPA、ITool

Zj_arrow的博客 7006

TwinCAT 3 实战:手把手教你用PLC和C++读写第三方伺服驱动器的CoE参数

本文详细介绍了在TwinCAT 3环境中通过PLC和C++两种技术路线实现对第三方伺服驱动器CoE参数的精准操控。从环境准备到具体实现,包括硬件配置、核心函数使用及性能优化策略,为工程师提供了全面的实战指南。特别针对CoE参数访问的效率和稳定性问题,给出了实用的调试技巧和异常处理方案。

weixin_33743248的博客 446

Python Web框架Django框架安装配置

本文开发环境:Ubuntu 16.10 Django开发环境搭建 1、安装Python          Ubuntu系统自带Python,终端输入python就会显示当前系统安装的Python版本。 2、安装ipython以便于以后的调试              3、安装pip 4、安装Django pip安装 5、创建第一个Django项目

PythonCodeZ的博客 507

WangEditor 5.0版本dangerouslyInsertHtml方法的正确使用方式

WangEditor 5.0版本dangerouslyInsertHtml方法的正确使用方式

yang1067155909的专栏 4291

Python 三大 Web 框架解析:Flask, Django, Aiohttp

本节介绍了Python中的三个主要Web框架:Flask、Django和Aiohttp,每个框架都有其独特的特点和适用场景。Flask适合快速开发小到中等规模的项目,Django适合开发复杂和数据驱动的Web应用,而Aiohttp适用于需要处理高并发请求的场景。选择哪个框架取决于项目的具体需求、开发团队的熟悉程度以及期望的开发速度。

m0_59596937的博客 2119

建议收藏:华为海思IC设计笔试题,含解析(附下载)

接触过的部门有麒麟芯片、CPU/GPU,总体面试感觉非常好,规范且认真,第一轮手撕代码状态机+复盘机考题+瞄准几个知识点深挖,时间1hour+;一二轮面试是连着的,所以很累。但是岗位就那么多,在面试的时候,很多同学因为准备不充分,与岗位失之交臂,无缘进入该公司。时序电路有记忆功能,不会产生锁存器,锁存器一般在组合逻辑中case写不全,else写不全,或者敏感列表写不全。

nuoweishizi的博客 3289

使用W5500与外网通信故障解决(MAC地址问题)

在蒲城项目的调试时,AMS500发现一个致命的问题,就是:在局域网跨网段通信时候和中心服务器不能通信,但是在一个HUB下是没有问题的,以前的串口服务器有过类似的问题出现,解决方法说是芯片的问题,结果也不了了之,换了芯片正常。 我们的网络通信芯片选择W5500,其中的MAC地址采用的是CPU的序列号作为Mac地址的问题就出在这,我们在使用的时候MAC地址的第一个必须是偶数,我们忽视了。 现象描...

zxm8513优快云博客 7757

Django 全面解析:Python Web开发框架

Django是一个功能全面的Python Web框架,采用MTV架构模式,包含ORM、认证系统、表单处理等核心组件。框架遵循"电池全包含"理念,提供开箱即用的管理后台和安全防护功能。典型项目结构清晰,通过路由系统、视图模板等模块实现高效开发。Django适合构建内容驱动的网站,相比Flask等微框架功能更完善但学习曲线略高,常与Django REST framework等第三方包配合使用。其丰富的官方文档和活跃社区为开发者提供了完善的学习资源。

m0_74371367的博客 2509

YOLOv11改进前必看 - YAML模型配置文件详细解读(再也不用担心通道数不匹配) 附网络结构图

YOLOv11的模型配置文件在中,里面包含以及,本文以目标检测模型文件为例(其他文件完全一致),详细介绍一下YOLOv11模型文件中各参数的含义。

Limiiiing的博客 5314

Python Web框架:Django

Python Web框架:Django简介,Django的安装使用,Django项目目录结构介绍,Django管理工具等

偶是不器的博客 4718

下采样优化实战:用ADown显著提升YOLOv11的多尺度特征保持能力

ADown 以“可编程梯度信息+多分支特征融合”打破了传统下采样的性能壁垒,为 YOLOv11 带来了多尺度特征的精准传递能力。从原理到代码集成,本教程已为你铺就了一条“小目标检测精度跃升”的实战路径。现在就动手尝试吧——当你看到模型对极小目标也能精准识别,且特征图细节完整时,你会明白这份技术探索的价值。我很乐意在你实践过程中帮你解决任何问题,让我们一起推动目标检测在下采样领域的边界。

FJN110的博客 424

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

比较 Python Web 框架:Django、FastAPI 和 Flask

Python有三个受欢迎的 Web 框架:Django、FastAPI 和 Flask。作为开发者,你可能会在多个项目中面临选择哪个框架的问题。每个框架都有其独特的优点和适用场景。让我们逐一看一下它们各自的特点。

m0_54701273的博客 1355

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Django框架:Python Web开发利器

Django框架凭借其功能强大、开发效率高、安全性好、社区支持丰富等特点,成为了Python Web开发的一大利器。通过本文的阐述,我们可以看到Django框架在Web开发中的优势和重要性。为了更好地利用Django框架,建议开发者深入学习其原理和技巧,同时关注社区动态,积极交流分享。在未来的研究中,我们可以进一步探讨Django框架在特定领域(如大数据、人工智能)的应用,以及如何优化Django框架以提高开发效率。特性描述功能强大提供丰富的功能模块,如用户认证、权限管理、数据库操作等开发效率。

2501_92488732的博客 842

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Django:基于Python的Web开发框架

文章目录Web开发框架 Django:基于Python的Web开发框架框架架构 MTV 设计模式其他特点 中文教程 Django 官方文档 Web开发框架 首先,Web开发就是一种 B/S 模式,即浏览器/服务器架构的开发,在前台的用户浏览器上面展示出后台相关的用户数据,通常是一种较为友好的图形化界面。Django 就是一个基于 Python 的Web开发框架。 和其他任何一种框架的一样,Web开发框架同样是希望将一些底层的东西封装起来,让使用者专注于顶层应用逻辑的实现,即将多层的网络协议和实现细节封装起

还是应该要努力的(12点前睡觉!!!!! 1224

Python Web 框架性能对比:Django、Flask、FastAPI

综上所述,Django、Flask 和 FastAPI 各有千秋。如果你正在开发一个复杂的应用程序并且希望快速上线,Django 是一个不错的选择;如果需要更高的灵活性和定制化程度,Flask 可能更适合你;而对于追求极致性能和现代开发体验的团队,FastAPI 则是首选。无论选择哪个框架,了解其优缺点以及适合的场景都是至关重要的。希望本文能帮助你在 Python Web 开发中做出明智的选择!```

2501_90726883的博客 570

解锁Django:Python Web开发的魔法框架

Django 作为 Python Web 开发领域的佼佼者,以其独特的 MTV 架构、强大的功能特性和广泛的应用领域,展现出了无可比拟的魅力与价值。它不仅让开发者能够从繁琐的 Web 开发细节中解脱出来,专注于业务逻辑的实现,还为构建各种规模和类型的 Web 应用提供了高效、可靠的解决方案。从架构层面看,MTV 模式将数据、业务逻辑和展示清晰分离,使得代码结构清晰,易于维护和扩展。模型层对数据库操作的封装,让开发者告别了复杂的 SQL 语句,专注于数据的管理和业务逻辑的实现;

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 893

Python Web框架:Django、Flask和FastAPI巅峰对决

Django、Flask和FastAPI中,无论你是打算挑战全面性、灵活性还是性能,这三者都能在不同领域为你保驾护航。 Python、Web框架、Django、Flask、FastAPI、对比分析、选择指南。

AI创变工坊,和1000万新个体创业者一起成长!愿大家都能跟上时代的洪流,不被社会淘汰,愿大家的生活工作收入都能具备竞争力! 2087

Python web框架:Django

Python web框架:Django 一、开发环境搭建: 1.安装Django: 如果使用的是标准的python开发环境,可以使用一下命令安装Django: pip install django 安装完Django后,进入Python的REPL环境,输入一下命令,如果没有抛出异常,说明Django已经安装成功了。 import django 2.添加环境变量: 如果成功安装了Django,会...

qq_42833469的博客 1226

Django框架:Python Web开发实战

本文从多个方面对《Django框架:Python Web开发实战》进行了详细阐述,展示了Django框架在Web开发中的优势和实用性。通过本文的介绍,读者可以了解到Django框架的特点、开发流程、性能优化、安全防护等方面的内容。在实际应用中,开发者可以根据项目需求,合理运用Django框架的内置功能,提高开发效率,打造高质量的Web应用。在未来的发展中,Django框架将继续完善和优化,为开发者提供更加便捷、高效的Web开发体验。

2501_92488950的博客 1010

Django:Python Web 框架

Django是一款GitHub上87.7K Star的高级Python Web框架,支持快速开发和清晰设计。它提供完整组件帮助构建Web应用,从开发到部署全流程覆盖。文档包含安装指南、教程、部署指南和API参考,建议新手按顺序阅读。开发者可通过Discord或论坛获取帮助,也可参考贡献指南参与开发。项目运行测试步骤详见文档,并鼓励依赖Django的项目支持Django软件基金会。

fanshengke973的博客 197

Django框架全解析:Python Web开发的高效利器

Django是一个基于Python的高级Web框架,遵循MTV(Model-Template-View)架构模式,以其“包含电池”的设计哲学著称。它内置了ORM、后台管理界面、用户认证系统等核心功能,大幅提升了开发效率。Django的ORM支持多种数据库后端,简化了数据操作和迁移。其模板系统支持继承和自定义标签,便于前端开发。Django还提供了强大的路由系统和安全防护机制,如CSRF保护和XSS防护,确保应用的安全性。适用于快速原型开发、企业级应用和需要长期维护的项目。结合Django REST fram

weixin_34224941的博客 800
上一篇: Python中MySQL操作--模块pymysql
Hao_python
博客等级 码龄9年 5粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值