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

Django基础(一)———创建与启动

前言

从这篇文章开始,我将给大家介绍Python中的一个框架 Django

我将从基础开始一步一步带领大家深入了解Django框架并完成实战案例


一、Django是什么?

Django 是一个 免费、开源、高级 的 Python Web 框架。它的核心目标是使开发复杂的、数据库驱动的网站变得 快速、简单和安全

Django 遵循 “Don't Repeat Yourself” 的设计哲学,强调代码复用和组件化。它奉行 “包含电池” 的理念,这意味着它提供了开发 Web 应用所需的绝大多数功能,开发者无需重新发明轮子,可以直接使用或进行少量配置即可。

二、核心特性

1.快速开发: Django 的设计哲学和内置功能(如 ORM、Admin 后台、通用视图、表单处理)极大地加速了开发流程。

2.安全: Django 非常注重安全,内置了防护常见 Web 攻击的机制,例如:

  • SQL 注入防护: ORM 自动处理参数化查询。

  • 跨站脚本防护: 模板系统默认转义输出。

  • 跨站请求伪造防护: 内置 CSRF 令牌机制。

  • 点击劫持防护: 支持 X-Frame-Options。

  • 安全头部: 可方便配置安全相关的 HTTP 头。

3.可扩展性强: Django 采用松耦合的设计,各个组件(如模型、视图、模板)相对独立。它支持海量访问的架构设计,许多大型网站(如 Instagram, Pinterest, Disqus)都使用 Django。

4.功能齐全的 ORM:

  • 对象关系映射 让你用 Python 类来定义数据库模型,无需直接编写 SQL。

  • 支持多种数据库后端(PostgreSQL, MySQL, SQLite, Oracle 等),切换方便。

  • 提供强大的数据库查询 API。

  • 自动处理数据库迁移(makemigrationsmigrate)。

5.自带 Admin 后台: 只需几行代码,就能根据你的数据模型自动生成一个功能强大的后台管理界面,用于管理网站内容。这是 Django 最具标志性的特性之一,极大地方便了内容管理。

6.清晰的 MVT 架构:

  • Model: 负责数据结构和数据库交互(ORM)。

  • View: 负责业务逻辑。接收 HTTP 请求,处理数据(通常涉及 Model),然后返回 HTTP 响应(通常是一个渲染后的 Template)。

  • Template: 负责展示层(HTML)。使用 Django 的模板语言(DTL)或第三方引擎(如 Jinja2)来动态生成 HTML。

  • URL Dispatcher: 优雅的 URL 设计,通过 URL 配置(urls.py)将不同的 URL 模式映射到对应的视图函数/类。

7.强大的表单处理: 内置的表单系统简化了表单的创建、验证、处理和渲染,并与 Model 紧密结合。

8.国际化与本地化: 内置支持多语言翻译和本地化格式(日期、时间、数字)。

9.强大的社区和生态系统: 拥有庞大且活跃的社区,提供了极其丰富的第三方包(Django Packages),覆盖了几乎所有的 Web 开发需求(认证、REST API、支付、搜索、缓存等)。

10.完善的文档: Django 以其 卓越、详尽的官方文档 而闻名,对新手和资深开发者都非常友好。

三、使用 

1.安装Django

pip install django

2.创建项目

Django种项目会有一些默认的文件和默认的文件夹

终端输入 django-admin startproject 项目名称 创建新项目

Cangku
├── manage.py           [管理项目文件,例如:运行、类自动生成数据表]
└── Cangku├── __init__.py├── settings.py     [项目配置文件,例如:连接那个数据... ]├── urls.py         [根路由,URL和函数的对应关系  /x1/login ->do_login ]├── asgi.py         [异步运行项目,编写socket,处理网络请求]└── wsgi.py         [同步运行项目,编写socket,处理网络请求]

3.创建应用(app)

一个项目类似于是一个架子,但是真正起作用的还是app.在终端进入到项目所在的路径,然后执行命令,创建一个新的app

python manage.py startapp [app名称]

4.运行

通过命令行的方式:

python manage.py runserver

可以在本地访问你的网站,默认端口号是8000,这样就可以在浏览器中通过http://127.0.0.1:8000/来访问你的网站啦。如果想要修改端口号,那么在运行的时候可以指定端口号,python manage.py runserver 9000这样就可以通过9000端口来访问啦。另外,这样运行的项目只能在本机上能访问,如果想要在其他电脑上也能访问本网站,那么需要指定ip地址为0.0.0.0。示例为:python manage.py runserver 0.0.0.0:8000。

5.project与app的关系

app是django项目的组成部分。一个app代表项目中的一个模块,所有URL请求的响应都是由app来处理。比如豆瓣,里面有图书,电影,音乐,同城等许许多多的模块,如果站在django的角度来看,图书,电影这些模块就是app,图书,电影这些app共同组成豆瓣这个项目。因此这里要有一个概念,django项目由许多app组成,一个app可以被用到其他项目,django也能拥有不同的app。

http://www.lryc.cn/news/588070.html

相关文章:

  • Django Admin 配置详解
  • uni-app 选择国家区号
  • 第二章 uniapp实现兼容多端的树状族谱关系图,封装tree-item子组件
  • 《星盘接口2:NVMe风暴》
  • Python 变量与简单输入输出:从零开始写你的第一个交互程序
  • Spring的`@Value`注解使用详细说明
  • vue3+uniapp 使用vue-plugin-hiprint中实现打印效果
  • 【数据同化案例1】ETKF求解参数-状态联合估计的同化系统(完整MATLAB实现)
  • 微算法科技技术创新,将量子图像LSQb算法与量子加密技术相结合,构建更加安全的量子信息隐藏和传输系统
  • 简单易用的资产跟踪器DumbAssets
  • uni-app在安卓设备上获取 (WIFI 【和】以太网) ip 和 MAC
  • 游戏设备软件加密锁复制:技术壁垒与安全博弈
  • 高安全前端架构:Rust-WASM 黑盒技术揭秘
  • 多云环境下的统一安全架构设计
  • 从 JSON 到 Python 对象:一次通透的序列化与反序列化之旅
  • Eplan API Creating projects or pages
  • .net winfrom 获取上传的Excel文件 单元格的背景色
  • 使⽤Pytorch构建⼀个神经⽹络
  • Solid Edge多项目并行,浮动许可如何高效调度?
  • 在项目中集成开源的表单设计器FcDesigner源码
  • mongodb原理及其实现
  • Context Tuning for In-Context Optimization
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(4):语法+单词+復習+发音
  • Nacos 技术研究文档(基于 Nacos 3)
  • Linux:1_Linux下基本指令
  • C++-linux 6.makefile和cmake
  • 多线程--单例模式and工厂模式
  • FreeRTOS之链表操作相关接口
  • QT——文件操作类 QFile和QTextStream
  • 第一次接触自动化监测,需要付费厂家安装服务吗?比人工测量主要区别是啥?