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组织中一个很成功的开 ...
随机推荐
- html5文本标签
标题文本 h1.h2.h3.h4.h5.h6 其中 h1.h2.h3是比较常用的.h3.h4.h5.h6相对来说用的会少一点,除非结构层次比较深才会使用. 段落文本 p <p>这是一个段落 ...
- class com.ttsx.activity.item.dao.entity.RoleMenu ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method. 报错解决办法
启动项目的时候,有几条WARN警告,如图: 引起原因: 是因为数据表实体类 没有di导致的. 例如: 解决办法: 增加实体id字段!或可以忽略!不影响程序!
- https证书中的subject alternative name字段作用及如何生成含该字段的证书
背景 最近,某个运维同事找到我,说测试环境的某个域名(他也在负责维护),假设域名为test.baidu.com,以前呢,证书都是用的生产的证书,最近不让用了.问为啥呢,说不安全,现在在整改了,因为证书 ...
- Vue3 值得注意的新特性
Vue3 值得注意的新特性 Vue3 新特性介绍 片段 组合式 API 单文件组件组合式 API 语法糖 (<script setup>) Teleport Suspense 实验性 SF ...
- 从 PostgreSQL 升级至 IvorySQL 4.0
本文作者:严少安,IvorySQL 贡献者. 本文为授权转载. 2024 年 8 月,我在<PG 12 即将退役,建议升级到 16.4>一文中提到,PostgreSQL 12 版本即将&q ...
- C++基础学习--随记
博客地址:https://www.cnblogs.com/zylyehuo/ 参考"C++基础与深度解析" 一.预备知识 // c++常用工具 /usr/bin/time //查看 ...
- Linux系统中的目录和文件夹的区别
Linux系统中的目录和文件夹的区别 目录 Linux系统中的目录和文件夹的区别 一.概念与术语背景 1.目录(Directory) 2.文件夹(Folder) 二.技术实现差异 1.存储内容 2.权 ...
- 使用克魔助手查看iOS 应用程序使用历史记录和耗能历史记录
使用克魔助手查看iOS 应用程序使用历史记录和耗能历史记录 功能概述 克魔助手无需越狱即可访问iOS上各个应用程序的历史记录,包括: 最近几个月的app的详细启动时间记录,结束时间,app使用的硬件组 ...
- ESP32+Arduino入门(三):连接WIFI获取当前时间
ESP32内置了WIFI模块连接WIFI非常简单方便. 代码如下: #include <WiFi.h> const char* ssid = "WIFI名称"; con ...
- ZeroTier 穿透ZeroNSD Quickstart
Create a ZeroTier Network# You may do this manually through the ZeroTier Central WebUI, Install Zero ...