Django 入门:基本设置和概述

什么是 Django?

  • 一个基于Python的Web框架,旨在快速开发高效的Web应用程序。
  • 它也被称为“内置电池”框架,因为它为 Web 开发的各个方面提供了内置功能,这些功能包括 Django 管理界面、默认数据库管理系统(SQLite 3)和其他简化的开发流程。
  • 为什么是 Django 而不是其他框架?

  • 第一个原因是快速开发;Django 能够在短时间内创建成熟的 Web 应用程序。
  • 第二个原因是数据库灵活性;虽然 SQLite 3 是默认数据库,但 Django 允许轻松切换到其他数据库,如 PostgreSQL、MySQL 等。
  • 第三个原因是内置管理界面;它简化了与网站管理相关的管理任务。
  • Django 架构

  • Django 遵循 MVT 架构,即模型-视图-模板,将应用程序的逻辑分为三个不同的组件。
  • MVT
  • Django 中的模型代表我们应用程序的数据结构,本质上定义我们的数据库表的模式并封装与数据库交互的逻辑。
  • View 只是一个接收 HTTP 请求并返回 HTTP 响应的 Python 函数或类。它负责处理传入的请求、通过模型与数据库交互以及准备要在响应中呈现的数据。
  • Django 中的模板是包含应用程序用户界面结构的 HTML 文件。它们还包括占位符和模板标签,这些标签在由 Django 呈现时会被动态内容替换。
  • 内部工作

  • 该图说明了 Django 的 MVT 架构,其中核心项目的 urls.py 将请求定向到每个应用程序的 urls.py。在每个应用程序内部,views.py 处理请求,与 models.py 交互以管理数据,然后使用模板呈现响应。
  • MVT Architecture

    在我们开始项目之前,我们总是建议在虚拟环境中运行您的项目,以便项目所需的所有必要依赖项都存在于项目环境本身中,而不是整个系统中。

    Python 虚拟环境。

  • Python3虚拟环境的安装。
  • sudo apt install python3-virtualenv
  • 在python3中创建虚拟环境。
  • #virtualenv -p python3 
    virtualenv -p python3 ecom
  • 激活创建的环境。
  • #source /bin/activate
    source ecom/bin/activate
  • 停用环境。
  • deactivate

    环境中的 Django 安装。

  • 在创建的 python 环境中安装 Django。
  • python -m pip install django
    #Tip: Type `django-admin` on terminal you will see all the django commands.
    django-admin

    Django 项目和应用程序创建。

    在 Django 中我们首先创建一个**Project**,然后在其中创建**App**。

  • 创建 Django 项目。
  • #django-admin startproject 
    django-admin startproject core .
  • 在项目内部创建应用程序。
  • #python manage.py startapp 
    python manage.py startapp store
  • 此后我们将在我们的项目中安装。
  • #Go to /settings.py inside check for Installed_Apps in which write your app name.
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        #custom-app
        'Store' 
    ]
    image
  • 在 core/urls.py 中我们将添加 include,以便我们可以在其中添加新的 url。
  • from django.contrib import admin
    from django.urls import path,include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path(' ', include('store.urls')),
    ]
  • 在这里,我们将在 views.py 中创建一个函数,用于以 html 文件的形式处理用户请求。
  • from django.shortcuts import render
    
    def home(request):
        return render(request, 'home.html', {})
  • 在商店应用中,我们将创建一个包含 HTML 文件的模板文件夹,以验证请求是否正确处理。
  • Image 2
  • 现在在商店中我们将创建 urls.py,它将把 URL 映射到 views.py 中的查看函数来处理请求并返回响应。
  • from django.urls import path
    from . import views
    
    urlpatterns = [
        path(' ',views.home, name='home')
    ]
  • 在终端中运行服务器,检查端口 8000 上的 HTML 文件的输出。