Python Django 编程 | 连载 01 - Django Quickstart

简介: Python Django 编程 | 连载 01 - Django Quickstart

一、Django 框架介绍

Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.

Django 是高水准的 Python 编程语言驱动的一个开源模型.视图,控制器风格的 Web 应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序

  • Ridiculously fast.
    Django was designed to help developers take applications from concept to completion as quickly as possible.
  • Reassuringly secure.
    Django takes security seriously and helps developers avoid many common security mistakes.
  • Exceedingly scalable.
    Some of the busiest sites on the web leverage Django’s ability to quickly and flexibly scale.

Django 是一个开放源代码,由 Python 实现,采用了 MTV 的框架模式,即模型 M,视图 V 和模版 T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统)软件。

image.png

URI 通过 urls.py 找到对应的视图函数 view.py,view.py 会进行业务处理,可能会涉及到 Model 层既对一些数据进行增删改查,view.py 获取数据后开始渲染 html 页面,最终返回给用户。

Django Framework 中包含的模块:

  • 模型Model:数据层、处理与数据相关的所有事务
  • 视图View:视图层,处理用户发出的请求和返回响应
  • 模板Template:模板层,通过视图函数渲染html模板,显示出动态的HTML页面
  • 路由URL:网站的入口,映射到具体的视图函数,一个URI地址对应一个视图函数
  • 表单Forms:表单,用于处理客户端的数据
  • 后台Admin:Django自带的Admin后台,对创建的模型数据进行管理
  • 配置Settings:Django的配置文件settings.py,包含了各种配置

Django 框架需要单独安装,可以使用 pip 工具进行安装。

pip3 install django
复制代码

Django安装之后可以通过django-admin来创建一个新的项目。

django-admin startproject django_quickstart
复制代码

除此之外还包含了一些其他的常用命令:

  • python manange.py startapp 应用名,在项目目录下创建一个应用
  • python manange.py shell,进入代码调试模式
  • python manange.py makemigrations,数据库创建更改文件
  • python manange.py migrate,同步数据库进行更新操作
  • python manange.py flush,清空数据库
  • python manange.py runserver 0.0.0.0:8000,在8000端口启动应用

可以通过python manange.py + 回车查看更多命令以及帮助。

二、Django 项目创建与启动

Django 项目可以使用命令行来创建,也可以使用 IDE 来创建。比如使用 PyCharm 来创建 Django 项目,启动 PyCharm 并点击 Create New Project,选择 Django 框架,解释器可以选择创建一个新的 Python 解释器也可以使用本地已有的解释器,

如果选择创建一个新的解释器,PyCharm 默认会安装 Django 框架以及所需的依赖。

image.png

点击右下角的 Create 即可完成创建。

进入项目目录下,使用命令创建一个应用 yankee

python manange.py startapp yankee
复制代码

Django 项目目录介绍

项目目录说明

使用 PyCharm 打开该项目

image.png

最上层的 django_quickstart 就是整个项目的根目录,其中:

  • manage.py:该文件是一个命令行工具,可以创建应用,迁移数据库,启动项目等
  • django_quickstart:与项目同名的一个 Python 包,主要包含了项目的设置,路由等
  • asgi.py:ASGI 兼容的Web 服务器入口,用于运行 Django 项目
  • settings.py:该文件中保存着所有的项设置
  • urls.py:项目的根路由
  • wsgi.py:WSGI 兼容的 Web 服务器入口,也可用于启动运行 Django 项目
  • templates:用于存放 HTML 模板
  • yankee:通过命令行创建的应用
  • migrations:数据库变更记录
  • admin.py:应用的后台管理
  • apps.py:app 相关配置
  • models.py: 存放数据库模型
  • views.py:存放视图函数
  • tests.py:存放测试相关代码

settings.py 配置说明

1)应用注册配置,该配置可以对创建的应用进行注册,注册有两种方式,一种是下图中的简写的方式。

image.png

第二种方式是全称的方式如:

'yankee.apps.YankeeConfig'
复制代码

这种注册方式是因为在 yankee 应用下的配置文件 apps 中注册了一个 YankeeConfig 类,这个配置类通过 name 变量定义了应用的名字为 'yankee'。

2)数据库配置,Django 项目默认使用的数据库是 SQLite3,在安装了相应的数据库驱动的情况下,可以更改数据库配置,使用其他数据库如 MySQL。

image.png

改为使用 MySQL 数据库的配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',     # 库名
        'HOST': '127.0.0.1',    # 数据库地址
        'PORT': 3306,       # 端口号
        'USER': 'root',     # 用户名
        'PASSWORD': 'root',   # 密码
    }
}
复制代码

3)模板和静态目录配置,模板文件夹默认在 templates 文件夹下,如果是别的名字,可以在下面的配置中进行更改

image.png

项目中的静态文件如 css、image、js 等一般都会存放在 static 目录下,需要配置静态目录的地址

STATIC_URL = '/static/'
复制代码

4)自定义中间件的注册,创建自定义的中间件首先可以创建一个文件夹来保存自定义的中间,接着创建 py 文件用来书写中间件类。

image.png

自定义的中间件类注册方式如下:

自定义中间类所在的目录.自定义中间件类所在的文件.自定义中间件类名
复制代码

5)语言与时区配置

# 默认配置
LANGUAGE_CODE = 'en-us' # 语⾔
TIME_ZONE = 'UTC' # 时区# 时区
复制代码

修改语言和时区配置如下:

# 修改为中文
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
复制代码

Django 项目启动

启动方式有两种,第一种方式是可以直接通过 PyCharm 来启动项目

image.png

支持添加各种启动参数,如 IP、端口等

image.png

第二种方式是通过命令行启动,并追加各种参数或者指定配置文件进行启动

python3 manage.py runserver 0.0.0.0:8888
复制代码

也可以通过以下命令,查询更多参数的使用

python3 manage.py runserver --help
复制代码

image.png


相关文章
|
8天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
8天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
8天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
10天前
|
设计模式 算法 搜索推荐
Python编程中的设计模式:优雅解决复杂问题的钥匙####
本文将探讨Python编程中几种核心设计模式的应用实例与优势,不涉及具体代码示例,而是聚焦于每种模式背后的设计理念、适用场景及其如何促进代码的可维护性和扩展性。通过理解这些设计模式,开发者可以更加高效地构建软件系统,实现代码复用,提升项目质量。 ####
|
9天前
|
机器学习/深度学习 存储 算法
探索Python编程:从基础到高级应用
【10月更文挑战第38天】本文旨在引导读者从Python的基础知识出发,逐渐深入到高级编程概念。通过简明的语言和实际代码示例,我们将一起探索这门语言的魅力和潜力,理解它如何帮助解决现实问题,并启发我们思考编程在现代社会中的作用和意义。
|
9天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
10天前
|
人工智能 数据挖掘 程序员
Python编程入门:从零到英雄
【10月更文挑战第37天】本文将引导你走进Python编程的世界,无论你是初学者还是有一定基础的开发者,都能从中受益。我们将从最基础的语法开始讲解,逐步深入到更复杂的主题,如数据结构、面向对象编程和网络编程等。通过本文的学习,你将能够编写出自己的Python程序,实现各种功能。让我们一起踏上Python编程之旅吧!
|
19天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
113 45
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
183 4
|
3月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
155 1
下一篇
无影云桌面