Django简介与虚拟环境安装Django

目录

1.Django简介

[1.1 Django 的核心特点](#1.1 Django 的核心特点)

[1.2 Django 的核心组件](#1.2 Django 的核心组件)

[1.3 Django 的应用场景](#1.3 Django 的应用场景)

[1.4 总结](#1.4 总结)

2.基础环境建立

[2.1 创建虚拟环境](#2.1 创建虚拟环境)

[2.1.1 使用 virtualenv 创建虚拟环境](#2.1.1 使用 virtualenv 创建虚拟环境)

[2.1.2 使用 venv 创建虚拟环境](#2.1.2 使用 venv 创建虚拟环境)

[2.2 激活虚拟环境](#2.2 激活虚拟环境)

[2.2.1 在 Windows 上](#2.2.1 在 Windows 上)

[2.2.2 在 macOS 或 Linux 上](#2.2.2 在 macOS 或 Linux 上)

[2.3 安装 Django](#2.3 安装 Django)

[2.4 创建 Django 项目](#2.4 创建 Django 项目)

[2.5 启动开发服务器](#2.5 启动开发服务器)

[2.6 停用虚拟环境](#2.6 停用虚拟环境)

[2.7 保存依赖](#2.7 保存依赖)

[2.8 小结](#2.8 小结)


1.Django简介

Django 是一个开源的 Python Web 框架 ,它是为帮助开发者快速构建高效、可扩展且安全的 Web 应用而设计的。Django 强调 "DRY"(Don't Repeat Yourself) 原则,尽量减少代码重复,并提供很多内置功能,帮助开发者快速实现复杂的 Web 应用。

1.1 Django 的核心特点

(1) 快速开发

  • Django 的设计目标之一是让开发者能够快速创建 Web 应用。它提供了大量的内置功能和工具,帮助开发者避免从零开始编写常见的 Web 应用组件。
  • 例如,Django 提供了 自动生成的后台管理系统(Django Admin),开发者只需要定义数据模型(Model)和简单配置,就可以获得强大的数据管理界面。

(2)强大的 ORM(对象关系映射)

  • Django 提供了一个 ORM(Object-Relational Mapping)系统,让开发者无需直接写 SQL 查询,便可以通过 Python 对象进行数据库操作。
  • 你只需要定义模型(Model)类,Django 会自动为你创建对应的数据库表,并且支持通过 Python 代码对数据进行增删改查(CRUD)操作。

(3)自动化的管理后台

  • Django 自带的管理后台非常强大,开发者只需要简单地注册模型(Model)到管理后台,就可以自动获得一个功能完整的界面用于管理数据。
  • 后台支持数据的增删改查(CRUD),并提供了过滤、搜索等高级功能。

(4)安全性

  • Django 提供了多种内建的安全功能,帮助开发者防止常见的 Web 安全问题,如:
    • CSRF(跨站请求伪造)防护:Django 默认启用 CSRF 保护,防止恶意网站伪造用户请求。
    • XSS(跨站脚本攻击)防护:Django 自动转义模板中的变量,避免 HTML 注入攻击。
    • SQL 注入防护:通过 ORM 进行数据库操作,Django 自动防止 SQL 注入攻击。
    • 密码管理:Django 使用加密的哈希算法来存储密码,确保用户数据的安全。

(5)可扩展性和灵活性

  • Django 是 模块化的,开发者可以根据需要选择合适的功能进行扩展。
  • 例如,Django 提供了多个扩展包来处理认证、RESTful API、文件上传、缓存等功能。
  • 你也可以自己创建 应用(App),并将它们集成到主项目中。

(6)良好的文档和社区支持

  • Django 有着 极其完善的官方文档,它包含了从基础入门到高级功能的全面指南,帮助开发者快速学习和掌握 Django。
  • Django 社区非常活跃,你可以通过官方论坛、Stack Overflow 等途径获取支持,解决开发中的问题。

1.2 Django 的核心组件

(1)Model(模型)

  • Django 提供了 ORM 系统来处理与数据库的交互。模型定义了数据的结构,并通过 Django 的 ORM 系统自动与数据库进行交互。

  • 示例

    python 复制代码
    from django.db import models
    
    class Product(models.Model):
        name = models.CharField(max_length=100)
        price = models.DecimalField(max_digits=10, decimal_places=2)
        description = models.TextField()
    
        def __str__(self):
            return self.name

(2)View(视图)

  • 视图是请求和响应之间的核心处理单元。它负责接收 HTTP 请求,处理请求并返回响应。

  • 在 Django 中,视图可以是函数视图(FBV)或类视图(CBV)。

  • 示例 (函数视图):

    python 复制代码
    from django.http import HttpResponse
    
    def home(request):
        return HttpResponse("Welcome to the homepage!")

(3)Template(模板)

  • Django 提供了模板系统来动态渲染 HTML 页面。模板系统允许开发者插入动态内容(例如数据库查询结果)并控制页面结构。

  • 示例 (模板):

    html 复制代码
    <h1>{
        
        { title }}</h1>
    <p>Welcome to the site, {
        
        { user.username }}</p>

(4)URL Dispatcher(URL 路由)

  • Django 使用 URL 路由系统将 URL 映射到视图函数或视图类。路由系统可以匹配动态 URL,例如 URL 中带有参数。

  • 示例

    python 复制代码
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('', views.home, name='home'),
        path('product/<int:id>/', views.product_detail, name='product_detail'),
    ]

(5)Admin(管理后台)

  • Django 提供了一个强大的自动生成的管理后台,开发者只需注册模型,便可以获得一个全面的数据管理界面。

  • 示例 (注册模型):

    python 复制代码
    from django.contrib import admin
    from .models import Product
    
    admin.site.register(Product)

(6)Form(表单)

  • Django 提供了一个表单框架,用于生成 HTML 表单、处理用户提交的数据并验证数据。

  • 示例

    python 复制代码
    from django import forms
    
    class ProductForm(forms.Form):
        name = forms.CharField(max_length=100)
        price = forms.DecimalField(max_digits=10, decimal_places=2)
        description = forms.CharField(widget=forms.Textarea)

1.3 Django 的应用场景

  • 快速构建 Web 应用:Django 提供了许多内建工具,可以让开发者快速搭建 Web 应用,适合从小型博客到大型复杂应用的开发。
  • 企业级应用:Django 强调可扩展性和安全性,适合处理复杂的企业级应用,如电商平台、社交网络等。
  • RESTful API:Django 可以与 Django REST Framework 配合使用,快速构建 API 服务,适合前后端分离的应用。

1.4 总结

Django 是一个功能强大且易用的 Web 框架,旨在让开发者能够快速构建高质量的 Web 应用。通过 Django,你可以避免重复造轮子,专注于业务逻辑的实现。Django 内置了 ORM、表单处理、安全性保护、自动化管理后台等功能,极大地简化了 Web 开发过程。

2.基础环境建立

2.1 创建虚拟环境

在此之前,可以创建一个文件夹来存放,如创建一个Django文件夹来存放项目。

首先,确保你的 Python 环境中已经安装了 virtualenv 或者使用 Python 自带的 venv 模块来创建虚拟环境,我采用了第二种。

如果你还没有安装 virtualenv,可以通过以下命令来安装:

pip install virtualenv

但是,Python 3.3 及以上版本已经自带了 venv 模块 ,因此你也可以直接使用 venv 来创建虚拟环境。

2.1.1 使用 virtualenv 创建虚拟环境

在你项目的根目录下,执行以下命令来创建一个虚拟环境(假设虚拟环境的名字是 venv):

virtualenv venv

2.1.2 使用 venv 创建虚拟环境

如果你使用的是 Python 3 自带的 venv 模块,可以这样创建虚拟环境:

python -m venv venv

这将创建一个名为 venv 的文件夹,其中包含虚拟环境的所有必要文件。

2.2 激活虚拟环境

2.2.1 在 Windows 上

在命令行中,运行以下命令来激活虚拟环境:

venv\Scripts\activate

2.2.2 在 macOS 或 Linux 上

在终端中,运行以下命令来激活虚拟环境:

source venv/bin/activate

激活虚拟环境后,你会看到命令行提示符前面会显示 (venv),表示当前虚拟环境已激活。

2.3 安装 Django

虚拟环境激活后,安装 Django:

pip install django

这样,Django 会安装在虚拟环境中,而不会影响系统级别的 Python 环境。

2.4 创建 Django 项目

虚拟环境激活后,继续按照之前的步骤来创建 Django 项目和应用。假设你要创建一个名为 myproject 的 Django 项目:

django-admin startproject myproject

cd myproject

2.5 启动开发服务器

在项目目录下,运行以下命令启动开发服务器:

python manage.py runserver

这时,你的 Django 项目应该在虚拟环境中成功运行。

访问127.0.0.1:8000,可以看到如下信息,到这步已经成功安装,下面内容便可以略过:

2.6 停用虚拟环境

当你完成工作并希望退出虚拟环境时,可以运行:

deactivate

这样,虚拟环境就会被禁用,返回到系统默认的 Python 环境。

2.7 保存依赖

为了方便其他人或者你自己在不同机器上安装相同的依赖,你可以创建一个 requirements.txt 文件,该文件包含所有项目依赖的库。使用以下命令生成 requirements.txt

pip freeze > requirements.txt

然后,其他人在设置项目时,只需运行以下命令来安装所有依赖:

pip install -r requirements.txt

2.8 小结

  1. 使用 virtualenvvenv 创建虚拟环境。
  2. 激活虚拟环境并安装 Django。
  3. 在虚拟环境中进行开发,避免与系统 Python 环境发生冲突。
  4. 使用 deactivate 停用虚拟环境,并使用 requirements.txt 管理项目的依赖。
相关推荐
mnwl12_037 分钟前
python轻量级框架-flask
开发语言·python·flask
张小特40 分钟前
flask项目中使用schedule定时任务案例
后端·python·flask
gf13211111 小时前
python_在钉钉群@人员发送消息
android·python·钉钉
B站计算机毕业设计超人1 小时前
计算机毕业设计PySpark+Hadoop+Hive机票预测 飞机票航班数据分析可视化大屏 航班预测系统 机票爬虫 飞机票推荐系统 大数据毕业设计
大数据·hadoop·爬虫·python·spark·课程设计·数据可视化
xianfianpan2 小时前
史上最简单open-webui安装方式!!!
python·深度学习·神经网络·ai
deephub2 小时前
Python时间序列分析:使用TSFresh进行自动化特征提取
python·机器学习·时间序列·特征提取
brilliantgby2 小时前
蓝桥杯3527阶乘的和 | 组合数学
python·蓝桥杯
取个名字真难呐3 小时前
Conv2d中groups=2时手动计算及pytorch源码验证
人工智能·pytorch·python
m0_748232923 小时前
基于OpenCV和Python的人脸识别系统_django
python·opencv·django