Django简介

 Django框架简介

MVC框架和MTV框架

MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。

想要更详细的了解MVC模式? >> 点我

Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性。

Django框架的不同之处在于它拆分的三部分为:Model(模型)、Template(模板)和View(视图),也就是MTV框架。

Django的MTV模式

       Model(模型):负责业务对象与数据库的对象(ORM)

       Template(模版):负责如何把页面展示给用户

       View(视图):负责业务逻辑,并在适当的时候调用Model和Template

此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

Django框架图示

Django常见命令

在Django的使用过程中需要使用命令让Django进行一些操作,例如创建Django项目、启动Django程序、创建新的APP、数据库迁移等。

创建Django项目

一把我们都新建一个文件夹来存放项目文件,切换到这个目录下,启动命令行工具。创建一个名为mysite的Django项目:

django-admin startproject mysite

创建好项目之后,可以查看当前目录下多出一个名为mysite的文件夹,mysite的文件夹目录结构如下:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

启动Django项目

 启动项目的时候,需要切换到mysite目录下,执行如下命令:

python manage.py runserver  #默认使用8000端口

 命令后面还可以指定参数:

python manage.py runserver 8888  #8888为新指定的端口
python manage.py runserver 127.0.0.1:8000  #还可以指定IP和端口,冒号分割

创建APP

一个Django项目可以分为很多个APP,用来隔离不同功能模块的代码。

命令行创建
python manage.py startapp app01

执行命令后,项目目录下多出一个app01的文件夹,目录结构如下:

app01/
    migrations
        __init__.py
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    views.py
使用PyCharm创建

可以使用PyCharm的manage.py工具来执行命名。在主菜单栏中选择Tools,在下拉菜单中选择Run manage.py task,会出现如下图所示的工具对话框:

在弹出的命令窗口中直接输入下面的命令便可创建app:

startapp app01

使用PyCharm的manage.py工具执行命令时,只用输入命令及参数即可,不再输入python manage.py了。

数据库迁移

python manage.py makemigrations
python manage.py migrate

创建超级用户

python manage.py createsuperuser

输入以上命令后,根据提示输入用户名、邮箱、密码、确认密码。密码的要求至少是不八位,不能和邮箱太接近,两次密码需要一致。

模板

Django模板(Template)系统 >> 点我

视图系统

Django视图系统 >> 点我

路由系统 

Django路由系统 >> 点我

模型

Django模型(model)系统 >> 点我

转载于:https://www.cnblogs.com/maple-shaw/p/9029086.html

<think>嗯,用户想了解Django框架的简介。首先,我需要回忆Django的基本信息,确保内容准确。Django是一个高级Python Web框架,应该提到它的主要特点,比如MVT架构、开箱即用的功能等。 然后,按照用户的要求,结构要清晰,分点说明。可能需要分成几个部分,比如概述、核心特性、适用场景、优缺点、学习资源。这样用户看起来一目了然。 需要确保所有数学公式正确使用$...$和$$...$$。虽然这个问题可能不涉及太多数学,但如果有示例代码或结构图,可能需要用LaTeX排版,不过用户没有特别提到图表,可能暂时不用。但要注意其他部分是否有需要数学符号的地方,比如如果有版本号或者数字相关的内容,不需要的话就正常处理。 然后检查LaTeX语法是否正确,比如是否有转义字符的问题。例如,在提到版本时,如果有数字和点,不需要特别处理,但如果有特殊符号,可能需要用LaTeX。但Django的介绍里可能不太需要数学表达式,所以这部分可能不涉及太多。 用户需要中文回答,所以确保用词准确,并且符合技术术语的翻译习惯。比如ORM、MVC、MVT这些术语要保持英文缩写,但解释时用中文。 接下来,考虑用户可能的背景。可能是刚开始学习Web开发,想选一个合适的框架。所以需要说明Django的适用场景,比如内容管理系统、社交网站等,以及它的优势,如快速开发、安全性等。 可能还需要提到Django的优缺点,让用户全面了解。比如优点包括功能齐全,缺点可能是灵活性相对较低,适合中大型项目。 学习资源部分,推荐官方文档和教程,帮助用户入门。确保链接正确,但可能不需要用超链接,只要写出名称即可。 最后,检查结构是否清晰,分点是否合理,有没有遗漏重要信息。比如Django的创建历史,主要组件(如Admin界面、ORM、模板引擎等),这些都需要涵盖。 确保回答真实可靠,不添加不确定的信息。比如Django的发布日期是2005年,由Adrian Holovaty和Simon Willison开发,这些需要准确无误。 可能还需要对比其他框架,比如Flask,说明Django更适合需要完整功能的项目,而Flask更轻量。但用户没有要求对比,所以简要提到即可。 总之,组织信息时要条理清晰,覆盖Django的关键点,帮助用户快速理解其用途和特点。同时遵循格式要求,正确使用LaTeX,虽然这里可能用不上数学公式,但代码示例如果有的话,可能需要用等宽字体,但用户没有特别要求代码,所以可能不需要。</think>### Django框架简介 #### 1. **概述** Django是一个基于Python的高级Web框架,遵循“**不重复造轮子**”(Don’t Repeat Yourself, DRY)的设计理念。它由Adrian Holovaty和Simon Willison于2003年开发,2005年正式开源,旨在帮助开发者快速构建复杂、安全的Web应用。 #### 2. **核心特性** - **MVT架构** Django采用**Model-View-Template**模式(类似MVC): - **Model**:定义数据结构,通过ORM(对象关系映射)与数据库交互。 - **View**:处理业务逻辑,接收请求并返回响应。 - **Template**:渲染HTML页面,支持动态内容。 - **开箱即用功能** - 自带Admin后台管理系统。 - 用户认证、表单验证、缓存等模块。 - 支持REST API开发(需结合Django REST Framework)。 - **安全性** 内置防护机制,如CSRF(跨站请求伪造)保护、SQL注入防御等。 - **扩展性** 通过“应用”(App)模块化设计,便于功能扩展和代码复用。 #### 3. **适用场景** - 内容管理系统(CMS) - 社交平台、博客系统 - 数据驱动的企业级应用 - 需要快速原型开发的项目 #### 4. **代码示例** ```python # 示例:定义一个简单的模型(Model) from django.db import models class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() pub_date = models.DateTimeField(auto_now_add=True) # 示例:视图(View)处理请求 from django.shortcuts import render from .models import Article def article_list(request): articles = Article.objects.all() return render(request, 'blog/article_list.html', {'articles': articles}) ``` #### 5. **优缺点分析** | **优点** | **缺点** | |------------------------------|------------------------------| | 功能齐全,降低开发成本 | 灵活性较低(对比Flask等微框架)| | 完善的文档和社区支持 | 学习曲线较陡(需理解整体架构) | | 适合中大型项目 | 性能优化需手动处理 | #### 6. **学习资源** - 官方文档:[Django Documentation](https://docs.djangoproject.com/) - 书籍推荐:《Django for Beginners》《Two Scoops of Django》 - 实战教程:通过构建博客、电商平台等项目入门。 #### 总结 Django凭借其**高效性**和**安全性**,成为Python领域最流行的Web框架之一。若您需要快速实现功能完备的Web应用,且希望减少底层代码编写,Django是一个理想选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值