搜索
首页后端开发Python教程Django 入门:基本设置和概述

什么是姜戈?

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

为什么选择 Django 而不是其他框架?

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

姜戈架构

  • Django 遵循 MVT 架构,它代表模型-视图-模板,将应用程序的逻辑分为三个不同的组件。

Getting Started with Django: Basic Setup and Overview

  • Django 中的 Model 代表了我们应用程序的数据结构,本质上定义了数据库表的模式并封装了与数据库交互的逻辑。
  • View 只是一个接收 HTTP 请求并返回 HTTP 响应的 Python 函数或类。它负责处理传入的请求,通过模型与数据库交互,并准备要在响应中呈现的数据。
  • Django 中的模板 是包含应用程序用户界面结构的HTML 文件。它们还包括占位符和模板标签,这些标签在 Django 渲染时会替换为动态内容。

内部工作

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

Getting Started with Django: Basic Setup and Overview

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

Python 虚拟环境。

  • Python3虚拟环境的安装。
sudo apt install python3-virtualenv
  • 在python3中创建虚拟环境。
#virtualenv -p python3 <environment-name>
virtualenv -p python3 ecom
</environment-name>
  • 激活创建的环境。
#source <environment-name>/bin/activate
source ecom/bin/activate
</environment-name>
  • 停用环境。
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 <project-name>
django-admin startproject core .
</project-name>
  • 在项目内创建应用程序。
#python manage.py startapp <app-name>
python manage.py startapp store
</app-name>
  • 之后我们将安装在我们的项目中。
#Go to <project-name>/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' 
]
</project-name>

Getting Started with Django: Basic Setup and Overview

  • 在 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')),
]
  • store中,我们将在views.py中创建一个函数,用于以html文件的形式处理用户请求。
from django.shortcuts import render

def home(request):
    return render(request, 'home.html', {})
  • store 应用程序中,我们将创建一个包含 HTML 文件的模板文件夹,以验证请求是否得到正确处理。

Getting Started with Django: Basic Setup and Overview

  • 现在,我们将在 store 中创建 urls.py,它将 URL 映射到views.py 中的视图函数,以处理请求并返回响应。
from django.urls import path
from . import views

urlpatterns = [
    path(' ',views.home, name='home')
]
  • 在终端中运行服务器以检查端口 8000 上 HTML 文件的输出。
python manage.py runserver

Getting Started with Django: Basic Setup and Overview


与我联系:

  • LinkedIn:https://www.linkedin.com/in/rohitrajputops/
  • GitHub:https://github.com/rohit-rajput1
  • 推特:https://twitter.com/rohitrajput31
  • Instagram:https://www.instagram.com/rohitrajput_36/

以上是Django 入门:基本设置和概述的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Python的执行模型:编译,解释还是两者?Python的执行模型:编译,解释还是两者?May 10, 2025 am 12:04 AM

pythonisbothCompileDIntered。

Python是按线执行的吗?Python是按线执行的吗?May 10, 2025 am 12:03 AM

Python不是严格的逐行执行,而是基于解释器的机制进行优化和条件执行。解释器将代码转换为字节码,由PVM执行,可能会预编译常量表达式或优化循环。理解这些机制有助于优化代码和提高效率。

python中两个列表的串联替代方案是什么?python中两个列表的串联替代方案是什么?May 09, 2025 am 12:16 AM

可以使用多种方法在Python中连接两个列表:1.使用 操作符,简单但在大列表中效率低;2.使用extend方法,效率高但会修改原列表;3.使用 =操作符,兼具效率和可读性;4.使用itertools.chain函数,内存效率高但需额外导入;5.使用列表解析,优雅但可能过于复杂。选择方法应根据代码上下文和需求。

Python:合并两个列表的有效方法Python:合并两个列表的有效方法May 09, 2025 am 12:15 AM

有多种方法可以合并Python列表:1.使用 操作符,简单但对大列表不内存高效;2.使用extend方法,内存高效但会修改原列表;3.使用itertools.chain,适用于大数据集;4.使用*操作符,一行代码合并小到中型列表;5.使用numpy.concatenate,适用于大数据集和性能要求高的场景;6.使用append方法,适用于小列表但效率低。选择方法时需考虑列表大小和应用场景。

编译的与解释的语言:优点和缺点编译的与解释的语言:优点和缺点May 09, 2025 am 12:06 AM

CompiledLanguagesOffersPeedAndSecurity,而interneterpretledlanguages provideeaseafuseanDoctability.1)commiledlanguageslikec arefasterandSecureButhOnderDevevelmendeclementCyclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesandentency.2)cransportedeplatectentysenty

Python:对于循环,最完整的指南Python:对于循环,最完整的指南May 09, 2025 am 12:05 AM

Python中,for循环用于遍历可迭代对象,while循环用于条件满足时重复执行操作。1)for循环示例:遍历列表并打印元素。2)while循环示例:猜数字游戏,直到猜对为止。掌握循环原理和优化技巧可提高代码效率和可靠性。

python concatenate列表到一个字符串中python concatenate列表到一个字符串中May 09, 2025 am 12:02 AM

要将列表连接成字符串,Python中使用join()方法是最佳选择。1)使用join()方法将列表元素连接成字符串,如''.join(my_list)。2)对于包含数字的列表,先用map(str,numbers)转换为字符串再连接。3)可以使用生成器表达式进行复杂格式化,如','.join(f'({fruit})'forfruitinfruits)。4)处理混合数据类型时,使用map(str,mixed_list)确保所有元素可转换为字符串。5)对于大型列表,使用''.join(large_li

Python的混合方法:编译和解释合并Python的混合方法:编译和解释合并May 08, 2025 am 12:16 AM

pythonuseshybridapprace,ComminingCompilationTobyTecoDeAndInterpretation.1)codeiscompiledtoplatform-Indepententbybytecode.2)bytecodeisisterpretedbybythepbybythepythonvirtualmachine,增强效率和通用性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能