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组织中一个很成功的开 ...
随机推荐
- FastAPI Cookie 和 Header 参数完全指南:从基础到高级实战 🚀
title: FastAPI Cookie 和 Header 参数完全指南:从基础到高级实战 date: 2025/3/9 updated: 2025/3/9 author: cmdragon exc ...
- 超详细移动端侧AI口罩识别实现与部署(含源码)
开发环境 数据标注:label studio :https://labelstud.io/ 模型训练:tensorflow 附完整的训练源码和数据 部署开发:Android studio + tens ...
- mysql安装以及2059 - Authentication plugin 'caching_sha2_password' cannot be loaded:报错的解决办法
2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_ ...
- [Qt 基础-01] QPushButton
QPushButton 简介 QPushButton是一个很常用的一个按钮控件,主要用于创建一个可按压的按键.它显示了一 个文本和一个图标.另外,你也可以在创建时,指定一个快捷键. 基本用法 1. 创 ...
- docker部署ceph集群
1. 创建Ceph专用网络 sudo docker network create --driver bridge --subnet 172.20.0.0/16 ceph-network 2. 拉取搭建 ...
- 解决 Docker 日志文件太大的问题
Docker 在不重建容器的情况下,日志文件默认会一直追加,时间一长会逐渐占满服务器的硬盘的空间,内存消耗也会一直增加,本篇来了解一些控制日志文件的方法. 清理单个文件 运行时控制 全局配置 Dock ...
- Linux 系统出现异常排查思路
16 系统出现异常排查思路16.1 查看用户信息16.1.1查看当前的用户# who 04:39:39 up 1:30, 1 user, load average: 0.01, 0.01, 0. ...
- 有限Abel群的结构(1)
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 https://www.cnblogs.com/Colin-Cai/p/18774816.html 作者:窗户 ...
- 汇编概念辨析(Intel/AT&T syntax、GAS、NASM)
写在前面 本文并不详细介绍Intel syntax.AT&T syntax.GAS.NASM的具体内容和具体区别,而是从概念辨析的角度说明这些专有名词的含义,以便为初学者扫清疑惑.有兴趣深入了 ...
- 【JDBC第2章】获取数据库连接
第2章:获取数据库连接 2.1 要素一:Driver接口实现类 2.1.1 Driver接口介绍 java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口.这个接口是提供给数据库厂 ...