Django Web应用开发实战第一章
一、常见域名后缀
- .com:商业性的机构或公司。
- .net:从事Internet相关的网络服务的机构或公司。
- .org:非营利的组织、团体。
- .gov:政府部门。
- .cn:中国国内域名。
- .com.cn:中国商业域名。
- .net.cn:中国从事Internet相关的网络服务的机构或公司。
- .org.cn:中国非营利的组织、团体。
- .gov.cn:中国政府部门。
二、空间服务器
空间服务器主要有虚拟主机、独立服务器和VPS(Virtual Private Server虚拟专用服务器)。
- 虚拟主机:虚拟主机是在网络服务器上划分一定的磁盘空间供用户放置站点和应用组件等,提供必要的站点功能、数据存放和传输功能。所谓虚拟主机也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器。每一个虚拟主机都是具有独立的域名和完整的Internet服务器(支持WWW、FTP、E-mail等)。虚拟主机的租用服务成了网络时代新的经济形式。
- 独立服务器:独立服务器是指性能更强大、整体硬件完全独立的服务器,其CPU都在8核以上。
- VPS:VPS即虚拟专用服务器,是将一个服务器分区成多个虚拟独立专享服务器的技术。每个使用VPS技术的虚拟独立服务器拥有各自独立的公网ip地址、操作系统、硬盘空间、内存空间和CPU资源等,还可以进行安装程序、重启服务器等操作,与一台独立服务器完全相同。
三、常用术语
- Client(客户端):在计算机上运行并连接互联网应用程序,简称浏览器,如Chrome、Firefox、IE等。用户通过操作客户端实现网站和用户之间的数据交互。
- Server(服务器):能连接到互联网具有IP地址的计算机。服务器主要接收和处理用户的请求信息。
- IP地址:互联网协议地址,TCP/IP网络设备(计算机、服务器、打印机、路由器等)的数字标识符。互联网上每台计算机都有一个IP地址,用于识别和通信。IP地址中有4组数字,以小数点分隔,这被称为逻辑地址。为了在网络中定位设备,通过TCP/IP协议将逻辑IP地址转换为物理地址(即计算机里面的MAC地址)。
- 域名:用于标识一个或多个IP地址。
- DNS(Domain Name System):域名系统,用于跟踪计算机的域名及其在互联网上相应的IP地址。
- ISP(Internet Service Provider):互联网服务提供商。主要工作是在DNS查找当前域名对应的IP地址。
- TCP/IP:传输控制协议/互联网协议,是广泛使用的通信协议。
- HTTP:超文本传输协议,是浏览器和服务器通过互联网进行通信的协议。
四、网站的运行原理
- 在浏览器输入网站地址,如www.github.com。
- 浏览器解析网站地址中包含的信息,如HTTP协议和域名(github.com)。
- 浏览器与ISP通信,在DNS中查找www.github.com所对应的IP地址,然后将IP地址发送到浏览器的DNS服务,最后向www.github.com的ip地址发送请求。
- 浏览器从网站地址中获取IP地址和端口(HTTP协议默认为80端口,HTTPS协议默认443端口),并打开TCP套接字连接,实现浏览器和Web服务器的连接。
- 浏览器根据用户操作向服务器发送相应的HTTP请求,如打开www.github.com的主页面。
- 当Web服务器接收请求后,根据请求信息查找该HTML页面。若页面存在,则Web服务器将处理结果和页面返回浏览器。若服务器找不到页面,则发送一个404错误消息。
五、创建项目
django-admin startproject project_name
项目里包含文件说明:
- manage.py:命令行工具,内置多种方式与项目进行交互。在命令行提示符窗口下,执行python manage.py help可以查看该工具的指令帮助信息。
- __init__.py:初始化文件,一般情况下无须修改。
- settings.py:项目的配置文件,项目的所有功能都需要在该文件中进行配置。
- urls.py:项目的路由设置,设置网站的具体网址内容。
- wsgi.py:全称为Python Web Server Gateway Interface,即python服务器网管接口,是python应用与Web服务器之间的接口,用于Django项目在服务器上的部署和上线,一般不需要修改。
python manage.py startapp app_name
App应用里包含的文件说明:
- migrations:用于生成数据迁移文件,通过数据迁移文件可自动在数据库里生成相应的数据表。
- __init__.py:app_name文件夹的初始化文件。
- admin.py:用于设置当前App的后台管理系统。
- apps.py:当前App的配置信息,在Django1.9版本后自动生成,一般情况下无须修改。
- models.py:定义数据库的映射类,每个类可以关联一张数据表,实现数据持久化,即MVT里面的模型(Model)。
- tests.py:自动化测试的模块,用于实现单元测试。
- views.py:视图文件,处理功能的业务逻辑,即MVT里面的视图(View)。
六、Django操作指令
- changepassword:修改内置用户表的用户密码。
- createsuperuser:为内置用户表创建超级管理员账号。
- remove_stale_contenttypes:删除数据表中已不使用的数据表。
- check:检查整个项目是否存在异常问题。
- compilemessages:编译语言文件,用于项目的区域语言设置。
- createcachetable:创建缓存数据表,为内置缓存机制提供存储功能。
- dbshell:进入Django配置的数据库,可以执行数据库的SQL语句。
- diffsettings:显示当前settings.py配置文件与默认配置的差异。
- dumpdata:导出数据表的数据并以JSON格式存储,如python manage.py dumpdata app_name > app_name.json
- flush:清空数据表的数据。
- inspectdb:获取项目所有模型定义的过程。
- loaddata:将数据文件导入数据表,如python manage.py loaddata app_name.json
- makemessages:创建语言文件,用于项目的区域语言设置。
- makemigrations:从模型对象创建数据迁移文件并保存在App的migrations文件夹。
- migrate:根据迁移文件的内容,在数据库里生成相应的数据表。
- sendtestemail:向指定的收件人发送测试的电子邮件。
- shell:进入Django的Shell模式,用于调试项目功能。
- showmigrations:查看当前项目所有的迁移文件。
- sqlflush:查看情况数据库的SQL脚本。
- sqlmigrate:根据迁移文件内容输出相应的SQL语句。
- sqlsequencereset:重置数据库表递增字段的索引值。
- squashmigrations:对迁移文件进行压缩处理。
- startapp:创建项目应用App。
- startproject:创建新的Django项目。
- test:运行App里的测试程序。
- testserver:新建测试数据库并使用该数据库进行运行项目。
- clearsessions:清除会话Session数据。
- collectstatic:收集所有静态文件。
- findstatic:查找静态文件的路径信息。
- runserver:在本地计算机上运行Django项目。
Django Web应用开发实战第一章的更多相关文章
- Spring实战第一章学习笔记
Spring实战第一章学习笔记 Java开发的简化 为了降低Java开发的复杂性,Spring采取了以下四种策略: 基于POJO的轻量级和最小侵入性编程: 通过依赖注入和面向接口实现松耦合: 基于切面 ...
- 学习参考《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码
在学习python Web开发时,我们会选择使用Django.flask等框架. 在学习flask时,推荐学习看看<Flask Web开发:基于Python的Web应用开发实战(第2版)> ...
- 微软实战训练营(X)重点班第(1)课:SOA必备知识之ASP.NET Web Service开发实战
微软实战训练营 上海交大(A)实验班.(X)重点班 内部课程资料 链接:http://pan.baidu.com/s/1jGsTjq2 password:0wmf <微软实战训练营(X)重点班第 ...
- Web前端开发实战6:CSS实现导航菜单结合二级下拉式菜单的简单变换
前面几篇博文都在讲导航菜单和二级下拉式菜单,事实上有非常多方法都能够实现的.详细的情况还要视情况而定. 在后面学习到jQuery框架之后,会有更丰富的动画效果.因为在学习Ajax和jQuery的初步阶 ...
- 第六模块:WEB框架开发 第1章·Django框架开发1~50
01-Django基础介绍 02-Web应用程序1 03-Web应用程序2 04-http请求协议1 05-http请求协议2 06-http协议之响应协议 07-wsgire模块1 08-wsgir ...
- DirectX12 3D 游戏开发与实战第一章内容
DirectX12 3D 第一章内容 学习目标 1.学习向量在几何学和数学中的表示方法 2.了解向量的运算定义以及它在几何学中的应用 3.熟悉DirectXMath库中与向量有关的类和方法 1.1 向 ...
- Java Web整合开发实战:基于Struts 2+Hibernate+Spring 目录
第1篇 Java Web开发基础第1章 Web的工作机制( 教学视频:31分钟) 1.1 理解Web的概念 1.1.1 Web的定义 1.1.2 Web的三个核心标准 1.2 C/S与B/S两种软件体 ...
- activiti实战--第一章--认识Activiti
学习资料:<Activiti实战> 第一章 认识Activiti 内容概览:讲解activiti的特点.接口概览.架构等基本信息. 1.3 Activiti的特点 1.使用mybatis ...
- 2017.2.20 activiti实战--第一章--认识Activiti
学习资料:<Activiti实战> 第一章 认识Activiti 内容概览:讲解activiti的特点.接口概览.架构等基本信息. 1.3 Activiti的特点 1.使用mybatis ...
- 学习笔记-[Maven实战]-第一章:Maven简介
Maven简介: Maven 可翻译为:知识的积累,也可以翻译为"专家"或"内行". Maven 是一个跨平台的项目管理工具,是Apache组织中一个很成功的开 ...
随机推荐
- 【ABAQUS 二次开发笔记】读入TXT分析结果&输出csv文件
abaqus分析之后,很多结果可以输出dat,msg,sta等文件中.可以用记事本.notpad++.editplus等软件打开编辑. 但是往往无法直接用excel.origin等软件打开,比如对结构 ...
- 关于我这周的kotlin的学习:
今天学习了kotlin方法的参数和一些lambda的一些知识,其中也是和我们上次日报中讲的方法一样,有三种分类,默认参数,具名参数,可变数量的参数.和以前一样,我们举个例子来理解这个知识点:先是默认方 ...
- 使用ssh连接virtual Box里的虚拟机
使用ssh连接virtual Box里的虚拟机 需求:virtual Box提供的文件拖放功能在从虚拟机拖向主机时,会出现一些卡顿,因此考虑使用ssh代替其文件传输功能. 高级 -> 端口转发 ...
- 选择排序--java进阶day06
1.选择排序 https://kdocs.cn/l/ciMkwngvaWfz?linkname=150996881 了解了选择排序之后,我们来找其中的规律 2.规律 选择排序就是一个元素和数组后续元素 ...
- 【Java】异常处理
异常的定义 异常:在Java语言中,将程序执行中发生的不正常情况称为"异常". (开发过程中的语法错误和逻辑错误不是异常) 1. 异常的体系结构 Java程序在执行过程中所发生的异 ...
- 学习FASTAPI
弯弯曲曲的学习之路 学了那么多语言,都是半途而废.包括java,Javascript,go,php,ruby等等乱七八糟. 除了c的自由和pascal的优美,FoxPro简单,其他都似懂非懂入不了法眼 ...
- FastAPI中实现动态条件必填字段的实践
title: FastAPI中实现动态条件必填字段的实践 date: 2025/04/03 00:06:20 updated: 2025/04/03 00:06:20 author: cmdragon ...
- 使用Python解决氢原子问题
引言 大家好!今天我们将讨论一个非常经典的物理问题-氢原子问题,并使用 Python 来进行求解.氢原子问题是量子力学中的基础问题,它帮助我们理解原子内部的电子结构及其能量水平.通过这篇文章,大家将学 ...
- C#+Appium+Nunit实现app自动化demo
1.新建Nunit工程 打开Rider新建一个Nunit工程并使用NuGet安装对应库,步骤如下: 2.编写代码 代码如下: using System; using NUnit.Framework; ...
- 详细介绍MessageQueueSelector
一.MessageQueueSelector 详解 MessageQueueSelector 是 RocketMQ 提供的一个接口,用于自定义消息发送时的队列选择策略. 通过实现该接口, 开发者可以控 ...