一、常见域名后缀
- .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项目。