📜  Django-基础(1)

📅  最后修改于: 2023-12-03 15:30:30.778000             🧑  作者: Mango

Django-基础

Django 是 Python 的一个 Web 框架,旨在使用最少的代码,建立一个高效的 Web 应用程序。它遵循了 Model-View-Controller (MVC) 架构,但称之为 Model-View-Template (MVT) 架构。 Django 中的模型定义了数据模型(通常由数据库管理系统表示),视图定义了用户界面并控制数据显示,而模板定义了生成 HTML 的布局和外观。

特点
  • 速度快:Django 是由 Python 开发的,它被设计为具有良好的性能和可扩展性。Django 强制执行最佳实践并允许开发人员优化性能。
  • 高度安全:Django 提供了强大的安全功能,例如自动防止跨网站脚本(XSS)和 SQL 注入攻击。
  • 轻松管理数据库:Django 还提供了一个称为 ORM 的对象关系映射器,使您可以轻松管理数据库,而无需编写 SQL 代码。
  • 易于扩展:您可以轻松添加新的功能、应用程序和插件,以扩展 Django 功能。
安装

Django 可以通过 pip 软件包管理器进行安装,如下所示:

$ pip install Django

您还可以在 https://www.djangoproject.com/ 下载 Django 的最新版本。安装后,可以通过以下命令检查 Django 是否已正确安装:

$ python -m django --version
创建一个 Django 应用程序

Django 应用程序通常包含多个应用程序。每个应用程序执行特定的任务并可重复使用。有许多 Django 项目是由多个应用程序组成的。Django 应用程序的创建步骤如下:

  1. 创建项目

    $ django-admin startproject myproject
    

    该命令将创建一个名为 myproject 的新 Django 项目。

  2. 创建应用程序

    $ python manage.py startapp myapp
    

    该命令将在当前目录中创建一个名为 myapp 的新 Django 应用程序。

  3. 运行开发服务器

    $ python manage.py runserver
    

    在浏览器中访问 http://127.0.0.1:8000/,应该可以看到 Django 的欢迎页面。

  4. 编写视图和 URLconf

    Django 的视图是一个返回 HTTP 响应的 Python 函数。URLconf 可以将 URL 映射到视图。在 myapp 目录中创建一个名为 views.py 的文件,并添加以下代码:

    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello, World!")
    

    在 myapp 目录中创建一个名为 urls.py 的文件,并添加以下代码:

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('', views.index, name='index'),
    ]
    

    该代码将 URL 映射到 index 视图。

  5. 编写模板

    Django 使用模板来生成 HTML。在 myapp 目录中创建一个名为 templates 的目录,并在其中创建一个名为 index.html 的文件。在 index.html 中添加以下代码:

    <!DOCTYPE html>
    <html>
    <head>
        <title>My Django App</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
    </body>
    </html>
    
  6. 配置模板

    在 myproject 目录中创建一个名为 settings.py 的文件,并在 TEMPLATES 中添加以下代码:

    'APP_DIRS': True,
    

    该代码指示 Django 在应用程序的 templates 目录中查找模板。

  7. 更新视图

    在 myapp/views.py 中更新视图,以使用 render() 函数呈现模板。

    from django.shortcuts import render
    
    def index(request):
        return render(request, 'index.html')
    

好了,您已经创建了一个简单的 Django 应用程序!

后续步骤
  • 学习 Django 的模型、模板和视图等核心概念。
  • 学习如何使用 Django 管理器。
  • 学习如何编写表单,并使用 Django 的表单处理功能。
  • 学习如何编写测试,并使用 Django 的测试框架进行单元测试。
  • 学习如何使用 Django 渲染 PDF、执行日志记录等高级用途。