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

Django3 - 建站基础知识点总结

        网站是指在因特网上根据一定的规则,使用HTML等工具制作并用于展示特定内容相关网页的集合。在早期,域名、空间服务器与程序是网站的基本组成部分,随着科技的不断进步,网站的组成也日趋复杂,目前多数网站由域名、空间服务器、DNS域名解析、网站程序和数据库等组成。

        网站开发流程如下:

        (1) 需求分析:当拿到一个项目时,必须进行需求分析,清楚知道网站的类型、具体功能、业务逻辑以及网站的风格,此外还要确定域名、网站空间或者服务器以及网站备案等。

        (2) 规划静态内容:重新确定需求分析,并根据用户需求规划出网站的内容板块草图。

        (3) 设计阶段:根据网站草图,由美工制作成效果图。就好比建房子一样,首先画出效果图,然后才开始建房子,网站开发也是如此。

        (4) 程序开发阶段:根据草图划分页面结构和设计,前端和后台可以同时进行。前端根据美工效果负责制作静态页面;后台根据页面结构和设计,设计数据库数据结构和开发网站后台。

        (5) 测试和上线:在本地搭建服务器,测试网站是否存在Bug。若无问题,则可以将网站打包,使用FTP上传至网站空间或者服务器。

        (6) 维护推广:在网站上线之后,根据实际情况完善网站的不足,定期修复和升级,保障网站运营顺畅,然后对网站进行推广宣传等。

        Django采用MTV的框架模式,即模型(Model)、模板(Template)和视图(Views),三者之间各自负责不同的职责。
● 模型:数据存取层,处理与数据相关的所有事务,例如如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
● 模板:表现层,处理与表现相关的决定,例如如何在页面或其他类型的文档中进行显示。
● 视图:业务逻辑层,存取模型及调取恰当模板的相关逻辑,模型与模板的桥梁。

建议使用pip命令安装Django,安装的方法如下:

# 方法一:在线安装
# 建议先升级 pip,可避免 90% 的“装不上”问题
python -m pip install -U pip
# 安装指定版本
python -m pip install "Django==3.1.4"# 方法二:离线安装
# 假设文件已重命名为 Django-3.1.4-py3-none-any.whl
python -m pip install ./Django-3.1.4-py3-none-any.whl

        两种不同的安装方法都是使用pip执行的,唯一的不同之处在于前者在安装过程中会从互联网下载安装包,而后者直接对本地已下载的安装包进行解压安装。Django安装完成后,在Python交互解释器模式校验安装是否成功:

>>> import django
>>> django.__version__

        Django的目录结构以及含义如下:

        ● manage.py:命令行工具,内置多种方式与项目进行交互。在命令提示符窗口下,将路径切换到MyDjango项目并输入python manage.py help,可以查看该工具的指令信息。
● __init__.py:初始化文件,一般情况下无须修改。
● asgi.py:开启一个ASGI服务,ASGI是异步网关协议接口。
● settings.py:项目的配置文件,项目的所有功能都需要从该文件里进行配置,配置说明会在后续详细讲述。
● urls.py:项目的路由设置,设置网站的具体网址内容。
● wsgi.py:全称为Python Web Server Gateway Interface,即Python服务器网关接口,是Python应用与Web服务器之间的接口,用于Django项目在服务器上的部署和上线,一般不需要修改。
● migrations:用于生成数据迁移文件,通过数据迁移文件可自动在数据库里生成相应的数据表。
● __init__.py:index文件夹的初始化文件。
● admin.py:用于设置当前App的后台管理功能。

--------------------------------------

没有自由的秩序和没有秩序的自由,同样具有破坏性。

————————————————

http://www.dtcms.com/a/335976.html

相关文章:

  • 【JAVA 核心编程】面向对象中级:封装与访问控制
  • 获取IPv6地址的三种方式
  • 【Git系列】如何从 Git 中删除 .idea 目录
  • Rust:实现仅通过索引(序数)导出 DLL 函数的功能
  • MySQL定时任务详解 - Event Scheduler 事件调度器从基础到实战
  • 学习Stm32 的第一天
  • 基于RK3588的微电网协调控制器:实现分布式能源的智能调控与优化运行
  • git stash临时保存工作区
  • 因果知识图谱:文本预处理的革命性突破
  • pytest中使用loguru的问题及解决
  • CF2121C Those Who Are With Us
  • Week 12: 深度学习补遗:RNN与LSTM
  • Vue 与 React 深度对比:设计哲学、技术差异与应用场景
  • Zemax 中的透镜设计 - 像差理论
  • Python | 解决 matplotlib 中文乱码
  • CentOS7安装部署GitLab社区版
  • 从需求到部署全套方案:餐饮服务许可证数据可视化分析系统的大数据技术实战
  • 深入浅出全面理解贝叶斯框架(Bayesian Framework)
  • jinja2模板引擎全面解析
  • Python3字符串全面指南:从基础操作到40个内建函数实战
  • Go语言并发编程 ------ 锁机制详解
  • 深入理解 uni-app 页面导航:switchTab、navigateTo、redirectTo、reLaunch 与 navigateBack
  • 2.4 双向链表
  • QUIC浅析
  • 流浪循环 全DLC(Rogue Loops)免安装中文版
  • 超市电商销售分析项目:从数据分析到业务决策
  • 【架构师从入门到进阶】第五章:DNSCDN网关优化思路——第十一节:网关安全-对称与非对称加密
  • PHP静态类self和static用法
  • 【计算机视觉与深度学习实战】04基于K-Means聚类的图像分割系统设计与实现
  • Java Stream 初解