Day01_Django建站基础

Django建站基础

引言

学习开发网站必备知识:

  1. 网站的组成部分
  2. 网站类型
  3. 运行原理和开发流程

因此,使用Django开发网站必须掌握Django的基本操作,例如:

  1. 创建项目
  2. 使用Django的操作指令
  3. 开发过程中的调试方法
网站的定义及组成

网站的学术定义:在因特网上根据一定的规则,使用HTML等工具制作并用于展示特定内容相关网页的集合。
早期网站的基本组成部分:

  1. 域名
  2. 空间服务器
  3. 程序

目前,大多数网站组成部分:

  1. 域名
  2. 空间服务器
  3. DNS域名解析
  4. 网站程序
  5. 数据库等
域名

域名:由一串用点分隔的字母组成,代表互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位,已经成为互联网的品牌和网上商标保护的必备产品之一,可以简单理解为门牌号。
以百度为例:www.baidu.com

  • www:网络名
  • baidu:主域名体
  • com:域名的后缀,代表是一个国际域名,属于顶级域名之一

常见的域名后缀有以下几种:

  1. .COM:商业性的机构或公司
  2. .NET:从事Internet相关的网络服务的机构或公司
  3. .ORG:非营利的组织、团体
  4. .GOV:政府部门
  5. .CN:中国国内域名
  6. .COM.CN:中国商业域名
  7. .NET.CN:中国从事Internet相关的网络服务的机构或公司
  8. .ORG.CN:中国非营利的组织、团体
  9. .GOV.CN:中国政府部门
空间服务器

空间服务器的主要类别:

  1. 虚拟主机:是在网络服务器上划分出一定的磁盘空间供用户放置站点和应用组件等,提供必要的站点功能、数据存放和传输功能。每一个虚拟主机都具有独立的域名和完整的Internet服务器。
  2. 独立服务器:是指性能更强大、整体硬件完全独立的服务器,其CPU都在8核以上。
  3. VPS:是指将一个服务器分区成多个虚拟独立专享服务器的技术。每个使用VPS技术的虚拟独立服务器拥有各自独立的公网IP地址、操作系统、硬盘空间、内存空间和CPU资源等,还可以进行安装程序、重启服务器等操作,与一台独立服务器完全相同。
网站程序

网站程序是建设与修改网站所使用的编程语言,源代码是由按一定格式书写的文字和符号编写的,可以是任何编程语言,常见的网站开发语言有Java、PHP、ASP.NET和Python。而浏览器就如程序的编译器,它会将源代码翻译成图文内容呈现在网页上。

网站的分类
资讯门户类网站

资源门户类网站以提供信息资讯为主要目的,是目前普遍的网站形式之一。这类网站虽然涵盖的信息类型多、信息量大、访问群体广,但包含的功能比较简单,网站基本功能包含检索、论坛、留言和用户中心等。
这类网站开发的技术含量主要涉及以下几个因素:

  1. 承载的信息类型,例如是否承载多媒体信息、是否承载结构化信息等。
  2. 信息发布的方式和流程。
  3. 信息量的数量级。
  4. 网站用户管理。
企业品牌类网站

企业品牌类网站用于展示企业综合实力,体现企业文化和品牌理念。企业品牌网站非常强调创意,对于美工设计要求较高,精美的FLASH动画是常用的表现形式。网站内容组织策划和产品展示体验方面也有较高的要求。网站利用多媒体交互和动态网页技术,针对目标客户进行内容建设,达到品牌营销的目的。
企业品牌类网站可细分为以下三类:

  1. 企业形象网站:塑造企业形象、传播企业文化、推介企业业务、报道企业活动和展示企业实力。
  2. 品牌形象网站:当企业拥有众多品牌且不同品牌之间的市场定位和营销策略各不相同时,企业可以根据不同品牌建立其品牌网站,以针对不同的消费群体。
  3. 产品形象网站:针对某一产品的网站,重点在于产品的体验。
交易类网站

交易类网站以实现交易为目的,以订单为中心。交易的对象可以是企业和消费者。
交易类网站一般有三项基本内容:

  1. 商品如何展示
  2. 订单如何生成
  3. 订单如何执行
    因此。这类网站一般需要有产品管理、订购管理、订单管理、产品推荐、支付管理、收费管理、送法货管理和会员管理等基本功能。功能复杂点的可能还需要积分管理系统、VIP管理系统、CRM系统、MIS系统、ERP系统和商品销售分析系统等等。交易类网站成功与否的关键在于业务模型的优劣。

交易类网站可以细分为以下三大类型:

  1. B2C网站:商家——消费者,主要是购物网站,用于商家和消费者之间的买卖;
  2. B2B网站:商家——商家,主要是商务网站,用于商家之间的买卖;
  3. C2C网站:消费者——消费者,主要以拍卖网站为主,用于个人物品的买卖
办公及政府机构网站

办公及政府机构网站分为:

  1. 企业办公事务类网站:主要包括企业办公事务管理系统、人力资源管理系统和办公成本管理系统。
  2. 政府办公类网站:是利用政府专用网络和内部办公网络而建立的内部门户信息网,是为了方便办公区域以外的相关部门互通信息、统一处理数据和共享文件资料而建立的。

政府办公类网站的基本功能有:
3. 提供多数据源接口:实现业务系统的数据整合;
4. 统一用户管理:提供方便有效的访问权限和管理权限体系;
5. 灵活设立子网站:实现复杂的信息发布管理流程;

其他

互动游戏网站:近年来国内逐渐风靡起来的一种网站。这种网站的投入是根据所承载游戏的复杂程度来决定的,其发展趋势是向超巨型方向发展,有的已经形成了独立的网络世界。
功能性网站:是一种新型网站,其中Google和百度是典型代表。这类网站的主要特性是将一个具有广泛需求的功能扩展开来,开发一套强大的功能体系,将功能的实现推向极致。功能在网页上看似简单,但实际投入成本相当惊人,而且效益巨大。

网站运行原理及开发流程
常用术语
  1. 客户端:在计算机上运行并连接到互联网的应用程序,简称浏览器。用户通过操作客户端实现网站和用户之间的数据交互。
  2. 服务器:能连接到互联网且具有IP地址的计算机。服务器主要用来接收和处理用户的请求信息。当用户在客户端操作网页时,实质上是向网站发送一个HTTP请求,网站的服务器接收到请求后会执行相应的处理,最后将处理结果返回给客户端并生成相应的网页信息。
  3. IP地址:互联网协议地址,TCP/IP网络设备(计算机、服务器、打印机、路由器等)的数字标识符。互联网上的每台计算机都有一个IP地址,用于识别和通信。IP地址有4组数字,以小数点分割(例如:244.155.65.2),这被称为逻辑地址。为了在网络中定位设备,通过TCP/IP协议,将逻辑IP地址转换成物理地址(物理地址即计算机里面的MAC地址)。
  4. 域名:用于标识一个或多个IP地址。
  5. DNS:域名系统,用于跟踪计算机的域名及其在互联网相应的IP地址。
  6. ISP:互联网服务提供商。主要工作是在DNS中查找当前域名定义的IP地址。
  7. TCP/IP:传输控制协议/互联网协议,是广泛使用的通信协议。
  8. HTTP:超文本传输协议,是浏览器和服务器通过互联网进行通信的协议。
网站的运行原理

实例:

  1. 在浏览器中输入网站地址,如www.baidu.com;
  2. 浏览器解析网站地址中包含的信息,如HTTP协议和域名(baidu.com);
  3. 浏览器与ISP通信,在DNS中查找www.baidu.com所对应的IP地址,然后将IP地址发送到浏览器的DNS服务,最后向www.baidu.com的IP地址发送请求;
  4. 浏览器从网站地址中获取IP地址和端口(HTTP协议默认为80端口,HTTPS协议默认为443端口),并打开TCP套接字连接,实现浏览器和Web服务器的连接;
  5. 浏览器根据用户操作向服务器发送相应的HTTP请求,如打开www.baidu.com的主页面;
  6. 当Web服务器接收请求后,根据请求信息查找该HTML页面。若页面存在,则Web服务器将处理结果和页面返回浏览器。若服务器找不到页面,则发送一个404错误,代表找不到相关的页面。
网站的开发流程
  1. 需求分析:当拿到一个项目时,必须进行需求分析,清楚知道网站的类型、具体功能、业务逻辑以及网站的风格,此外还要确定域名、网站空间或者服务器以及网站备案等。
  2. 规划静态内容:重新确定需求分析,并根据用户需求规划出网站的内容板块。
  3. 设计阶段:根据网站草图由美工做成效果图。
  4. 程序开发阶段:根据草图划分页面结构和设计,前端和后台可以同时进行。前端根据美工效果负责制作静态页面;后台根据页面结构和设计,设计数据库数据结构和开发网站后台。
  5. 测试和上线:在本地搭建服务器,测试网站是否存在BUG。如无问题,则可以将网站打包,使用ftp上传至网站空间或者服务器。
  6. 维护推广:在网站上线之后,根据实际情况完善网站不足,定期修复和升级,保障网站运营流畅,然后对网站进行推广宣传等。
任务划分
  1. 网页设计由UI负责设计。
  2. 前端开发人员将网页设计图转化为HTML页面,主要编写HTML网页、CSS样式和javascript脚本,如果采用前后端分离,整个网站的功能就皆有前端人员实现。
  3. 后端开发人员负责网站功能和数据库设计。
  4. 测试人员负责测试网站功能是否符合用户需求。
  5. 运维人员负责网站的部署和上线。
走进Django

Django采用了MTV的框架模式,即模型(Model)、模板(Template)和视图(Views),三者之间各负责不同的职责。

  • 模型:数据存取层,处理与数据相关的所有事务,例如如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
  • 模板:表现层,处理与表现相关的决定,例如如何在页面或其他类型的文档中进行显示。
  • 视图:业务逻辑层,存取模型及调取恰当模板的相关逻辑,模型与模板的桥梁。

Django基于MTV的设计具有以下优点:

  • 对象关系映射(ORM):通过定义映射类来构建数据模型,将模型与关系数据库连接起来,使用ORM框架内置的数据库接口可实现负责的数据操作。
  • URL设计:开发者可以设计任意的URL(网站地址),而且还支持使用正则表达式设计。
  • 模板系统:提供可扩展的模板语言,模板之间具有可继承性。
  • 表单处理:可以生成各种表单模型,而且表单具有有效性检验功能。
  • Cache系统:完善的缓存系统,可支持多种缓存方式。
  • Auth认证系统:提供用户认证,权限设置和用户组功能,功能扩展性强。
  • 国际化:内置国际化系统,方便开发出多种语言的网站。
  • Admin后台系统:内置Admin后台管理系统,系统扩展性强。
开启Hello World之旅

步骤:

  1. 使用pycharm创建Django项目chp_1
    在这里插入图片描述
  2. 创建名为index的app
python manage.py startapp app名字

在这里插入图片描述
在这里插入图片描述
3. 在templates文件夹里新建index.html文件,该文件是Django的模板文件。
在这里插入图片描述
4. 接着打开chp_1文件夹的配置文件settings.py,找到配置属性INSTALLED_APPS和TEMPLATES,分别将项目应用index和模板文件夹templates添加到相应的配置属性,其配置如下所示:
在这里插入图片描述
5. 最后在chp_1文件夹里的urls.py文件、index文件夹里的views.py文件和templates文件夹里的index.html文件里编写相应代码,即可实现简单的Hello World网页,代码如下:

# chp_1的urls.py
from django.contrib import admin
from django.urls import path
# 导入项目应用index
from index.views import index

urlpatterns = [
    path("admin/", admin.site.urls),
    path("",index)
]
# index的views.py
from django.shortcuts import render

# Create your views here.
def index(request):
    return render(request,'index.html')
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello World</title>
</head>
<body>
    <span>Hello World!</span>
</body>
</html>
  1. 页面效果:
    在这里插入图片描述
HTML、CSS和JavaScript

网站开发可以分为前端开发和后端开发,前端开发是指网页设计,我们在浏览器看到网站的图片、文字、音乐视频等内容排版都是由前端开发人员实现的;后端开发是为前端开发提供实际的数据内容和业务逻辑,比如提供文字内容、图片和音乐视频的路径地址等信息。
前端人员必须掌握:HTML、CSS和JavaScript的基础语言以及延伸框架。
后端人员必须掌握一种或多种后端开发语言、数据库应用原理、Web服务器应用原理和基础运维技术。数据库为MySQL、MSSQL、Oracle和Redis等。

HTML

HTML是超文本标记语言,标准通用标记语言下的一个应用。“超文本”就是指页面内可以包含图片、连接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括“头”部分(head)和“主体”部分(body),其中“头”部分提供关于网页的信息,“主体”部分提供网页的具体内容。
一个完整的网页必定以< html ></ html >为开头和结尾,整个HTML可分为两部分:
(1)< head ></ head >,主要是对网页的描述、图片和JavaScript的引用。< head >元素包含所有的头部标签元素。在< head >元素中可以插入脚本(scripts)、样式文件(css)以及各种meta信息。该区域可添加的元素标签有< title >、< style >、< meta >、< link >、< script >、< noscript >和< base >。
(2)< body ></ body >是网页信息的主要载体。该标签下还可以包含很多类别的标签,不同的标签有不同的作用,标签以<>开头,以</>结尾,<>和</>之间的内容是标签的值和属性,每个标签之间可以是相互独立的,也可以是嵌套、层层递进的关系。

CSS

HTML代码是保存在后缀名为.html的文件,而CSS样式是保存在后缀名为.css的文件,然后在HTML代码中调用CSS样式文件。由于HTML代码中会存在多个不同的元素,并且每个元素的网页布局各不相同,因此需要使用CSS选择器定位每个HTML元素,然后再编写相应的CSS样式。
CSS选择器划分了多种类型,同一个HTML元素可以使用不同的CSS选择器进行定位,实际开发中最常用的CSS选择器分别为:类别选择器、标签选择器、ID选择器、通用选择器和群组选择器。

  1. 通用选择器:它以符号*表示,这是设置整个网页所有元素的样式,用于网页的整体布局,
  2. 标签选择器:以标签名表示,如果网页中有多个相同的标签,那么标签选择器的样式设置都会作用在这些标签上。
  3. 类别选择器:它以.xxx表示,其中xxx代表标签属性class的属性值,这是开发中常用的样式设置之一。
  4. ID选择器:它以#xxx表示,其中xxx代表标签属性id的属性值,这也是开发中常用的样式设置之一。
  5. 群组选择器:它是将多个CSS选择器组合成一个群组,并由这个群组对这些标签进行统一的样式设置,每个CSS选择器之间使用逗号隔开。
JavaScript

JavaScript(简称“JS”)是一种具有函数优先级的轻量级、解释型的编程语言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leon.shadow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值