Django建站基础
Posted rowry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django建站基础相关的知识,希望对你有一定的参考价值。
网站的运行原理以及开发流程
如果刚刚接触网站的开发,很有必要了解网站的运行原理.
网站的常用术语
1. 客户端: 在计算机上运行并连接到互联网的应用程序,简称浏览器.
如Chrome,Firefox,IE,用户通过客户端实现网站和用户之间的数据交互.
2. 服务器: 能连接到互联网且具有IP地址的计算机,服务器主要接收和处理用户的请求信息.
(1) 当用户在客户端操作网页的时候,实质上是向网站发送一个HTTP请求.
(2) 网站的服务器接收到请求后会执行相应的处理,最后将处理结果返回到客户端并生成相应的网页信息.
3. IP地址: 互联网协议地址,TCP/IP网络设备(计算机,服务器,打印机,路由器等)的数字标识符.
(1) 互联网上的每台计算机都有一个IP地址,用于识别何通信.
(2) IP地址有4组数字,以小数点分隔,例如 192.168.125.21 ,这个被称为逻辑地址.
(3) 为了在网络中定位设备,通过TCP/IP协议将逻辑IP地址转换为物理地址(物理地址即计算机里面的MAC地址)
4. 域名: 用于标识一个或多个IP地址
5. DNS: 域名系统, 用于跟踪计算机的域名及其在互联网上相应的IP地址.
6. ISP: 互联网服务提供商. 主要工作是在DNS(域名系统)查找当前域名对应的IP地址.
7. TCP/IP: 传输控制协议/互联网协议,是广泛使用的通信协议.
8. HTTP: 超文本传输协议,是浏览器和服务器通过互联网进行通信的协议.
网站的运行原理
大概了解网站常用术语之后,用一个简单的例子来讲解网站运行原理
1. 在浏览器中输入网站地址,如www.github.com
2. 浏览器解析网站地址中包含的信息,如果HTTP协议和域名(github.com)
3. 浏览器与ISP通信,与DNS查找www.github.com所对应的IP地址,然后将IP地址发送到浏览器的DNS服务,最后向www.github.com的IP地址发送请求.
4. 浏览器从网站地址中获取IP地址和端口(HTTP协议默认端口为80,HTTPS默认端口为443),并打开 TCP Socket连接,实现浏览器和Web服务器的连接.
5. 浏览器根据用户操作向服务器发送相应的HTTP请求,如打开www.github.com的主页面
6. 当Web服务器接收请求后,根据请求信息查找该html页面.
(1) 如果页面存在,则Web服务器将处理结果和页面返回到浏览器
(2) 如果服务器找不到页面,将发送一个404错误,代表找不到相关的页面
网站开发流程
下面是一个完整的网站开发流程
1. 需求分析:
(1) 拿到一个项目时,必须进行需求分析,清楚知道网站的类型,具体功能,业务逻辑以及网站的风格.
(2) 此外还要确定域名,网站空间或者服务器以及网站备案等.
2. 规划静态内容:
重新确定需求分析,并根据用户需求规划出网站的内容板块草图
3. 设计阶段:
根据网站草图,由美工制作成效果图. 就好比建房子一样,首先要画出效果图,然后才开始建房子,网站开发也是如此.
4. 程序开发阶段:
(1) 根据草图划分页面结构和设计,前端和后台可以同时进行.
(2) 前端根据美工效果负责制作静态页面
(3) 后台根据页面结构和设计,设计数据库数据结构和开发网站后台
5. 测试和上线:
(1) 在本地搭建服务器,测试网站是否存在BUG.
(2) 如果没有问题,则可以将网站打包,使用FTP上传至网站空间或者服务器.
6. 维护推广:
在网站上线之后,根据实际情况完善网站的不足,定期修复和升级,保障网站的运营畅通,然后对网站进行推广宣传.
走进Django
1. Django是一个开源的,由Python编写的Web应用框架. (Django是一个吉他手的名字)
2. Django采用MTV的架构模式,即(1) 模型Model (2) 模板Template (3) 视图Views
3. Django有许多功能强大的第三方插件, 例如 djangorestframework
4. Django强调快速开发还有DRY(Do Not Repeat Yourself)
(1) 对象关系映射(Object Relational Mapping,ORM)
通过定义映射类来构建数据模型,将模型与关系数据库连接起来,使用ORM框架内置的数据库接口可实现复杂的数据操作
(2) URL设计: 开发者可以设计任意的URL(网站地址),而且还支持使用正则表达式设计
(3) 模板系统: 梯控可扩展的模板语言,模板之间具有可继承性
(4) 表单处理: 可以生成各种表单模型,热切表单具有有效性检验功能
(5) Cache系统: 完善的缓存系统,可支持多种缓存方式
(6) 用户管理系统: 提供用户认证,权限设置和用户组功能,功能扩展性强
(7) 国际化: 内置国际化系统,方便开发出多种语言的网站
(8) admin管理系统: 内置admin管理系统,系统扩展性强
Django的MVT架构
Django2.0的新特性
05年发布的Django,18年初的Django2.0是第一次比较大的版本提升
1. 简化URL路由语法,使得Django.urls.path()的语法更简单.
功能的导入模块由Django.urls实现,如 from Django.urls import include,path,re_path
2. admin管理系统: 支持主流的移动设备并新增属性 ModelAdmin.autocomplete_fields 和 ModelAdmin.get_autocomplete_fields()
3. 用户认证: PBKDF2密码哈希默认的迭代次数从36000增加到100000
4. ....
安装Django
1. 使用pip进行Django的安装: pip install django==2.2
(1) pip 安装python包与操作系统无关
# 验证django安装成功
import django
django.__version__ ## django.get_version()
Out[3]: ‘2.2‘
创建项目
1. 一个项目可以理解唯一网站,创建Django项目可以在CMD窗口输入创建指定完成:
(1) django-admin startproject MyDjango 创建一个Django项目
(2) cd MyDjango 进入创建好的目录
(3) python manage.py startapp index 创建一个index app
(4) python manage.py startapp user 创建user app
(5) pyhon manager.py runserver 127.0.0.1:8800 启动Django,默认是8000端口
以上是关于Django建站基础的主要内容,如果未能解决你的问题,请参考以下文章