当前位置: 首页 > article >正文

Django简介与虚拟环境安装Django

目录

1.Django简介

1.1 Django 的核心特点

1.2 Django 的核心组件

1.3 Django 的应用场景

1.4 总结

2.基础环境建立

2.1 创建虚拟环境

2.1.1 使用 virtualenv 创建虚拟环境

2.1.2 使用 venv 创建虚拟环境

2.2 激活虚拟环境

2.2.1 在 Windows 上

2.2.2 在 macOS 或 Linux 上

2.3 安装 Django

2.4 创建 Django 项目

2.5 启动开发服务器

2.6 停用虚拟环境

2.7 保存依赖

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 系统自动与数据库进行交互。
  • 示例
    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)。
  • 示例(函数视图):
    from django.http import HttpResponse
    
    def home(request):
        return HttpResponse("Welcome to the homepage!")
    

(3)Template(模板)

  • Django 提供了模板系统来动态渲染 HTML 页面。模板系统允许开发者插入动态内容(例如数据库查询结果)并控制页面结构。
  • 示例(模板):
    <h1>{
        
        { title }}</h1>
    <p>Welcome to the site, {
        
        { user.username }}</p>
    

(4)URL Dispatcher(URL 路由)

  • Django 使用 URL 路由系统将 URL 映射到视图函数或视图类。路由系统可以匹配动态 URL,例如 URL 中带有参数。
  • 示例
    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 提供了一个强大的自动生成的管理后台,开发者只需注册模型,便可以获得一个全面的数据管理界面。
  • 示例(注册模型):
    from django.contrib import admin
    from .models import Product
    
    admin.site.register(Product)
    

(6)Form(表单)

  • Django 提供了一个表单框架,用于生成 HTML 表单、处理用户提交的数据并验证数据。
  • 示例
    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 管理项目的依赖。

http://www.kler.cn/a/511849.html

相关文章:

  • MySQL 主从复制原理及其工作过程的配置
  • Android Studio:Linux环境下安装与配置
  • C链表的一些基础知识
  • vue3+elementPlus之后台管理系统(从0到1)(day2)
  • openharmony应用开发快速入门
  • 软件测试——期末复习
  • leetcode763.划分字母区间
  • Android 存储进化:分区存储
  • 【博客之星2024年度总评选】年度回望:我的博客之路与星光熠熠
  • Android 极光推送快速开发集成指南(1)
  • Grafana系列之Dashboard:新增仪表板、新增变量、过滤变量、变量查询、导入仪表板、变量联动、Grafana Alert
  • 第9章:Python TDD解决货币对象相等性比较难题
  • python爬虫报错日记
  • 初始JavaEE篇 —— 快速上手 SpringBoot
  • 【Redis】Redis 集群中节点之间如何通信?
  • [cg] glProgramBinary
  • JavaScript系列(35)-- WebSocket应用详解
  • Redis系列之底层数据结构字典Dict
  • 图像处理|顶帽操作
  • Kivy App开发之UX控件Bubble气泡
  • 使用redis-cli命令实现redis crud操作
  • Meta标签教程:提升网站SEO与用户体验的利器
  • 人工智能之数学基础:线性代数中的线性相关和线性无关
  • windows下使用docker执行器并配置 hosts 解析
  • Agent AI: 强化学习,模仿学习,大型语言模型和VLMs在智能体中的应用
  • 2024年第十五届蓝桥杯青少组国赛(c++)真题—快速分解质因数