第一章 Django建站基础

1.1网站的定义及组成

网站(website)组成:

(1)域名:www.baidu.com

(2)空间服务器:虚拟主机,独立服务器,vps

(3)DNS域名解析

(4)网站程序

(5)数据库

1.2网站运行原理

(1)在浏览器输入网址:www.baidu.com

(2)浏览器解析网站地址中包含的信息,http协议与域名(baidu.com)

(3)浏览器与isp通信,在DNS中查找网址对应的IP地址,将IP地址发送到浏览器的DNS服务,最后向该IP地址发送请求

(4)浏览器从网址获取IP地址和端口,打开tcp套接字连接,实现浏览器与web服务器连接

(5)浏览器根据用户操作向服务器发送对应的HTTP请求

(6)web服务器接收到请求后,根据请求信息进行查找HTML页面。页面存在返回给浏览器。页面不存在,返回404错误。

1.3网站开发流程

(1)需求分析

(2)规划静态内容

(3)设计阶段

(4)程序开发阶段

(5)测试和上线

(6)维护推广

1.4Django框架模式(MTV)

  • M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。

  • T 代表模板 (Template):负责页面展示给用户(html)

  • V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。

    优点:

    (1)对象关系映射( Object Relational Mapping, ORM):通过定义映射类来构建数据模型,型与关系数据库连接起来,使用ORM框架内置的数据库接口可实现复杂的数据操作。

    (2)URL设计:开发者可以设计任意的URL (网站地址),而且还支持使用正则表达式设计

    (3)模板系统:提供可扩展的模板语言,模板之间具有可继承性。
    (4)表单处理:可以生成各种表单模型,而旦表单具有有效性检验功能。

    (5)Cache系统:完善的缓存系统,可支持多种缓存方式。

    (6)Auth认证系统:提供用户认证、权限设置和用户组功能,功能扩展性强。

    (7)国际化:内置国际化系统,方便开发出多种语言的网站。

    (8)Admin后台系统:内置Admin后台管理系统,系统扩展性强

1.5Django2与Django1区别

●简化URL路由语法:使得Django.urls.path( )方法的语法更简单。功能的导入由模块Django.uris 实现,如from Django.urls import include, path, re_path.
●Admin后台系统:支持主流移动设备并新增属性ModelAdmin. autocomplete_fields 和方法ModelAdmin.get_autocomplete_fields( ).

●用户认证: PBKDF2 密码哈希默认的迭代次数从36000增加到100 000.
●Cache (缓存): cache.set_many()现在返回一个列表,包含插入失败的键值。
●视图类: ContextMixin.extra_context属性允许在View.as_view()中添加上下文。
●Pagination (分页):增加Paginator.get_page( ),可以处理各种非法页面参数,防止异常。

●Templates (模板):提高Engine. get_default( )在第三方模块的用途,
●Validators (验证器):不允许Charfield及其子类的表单输入为空,
●File Storage (文件存储): File.open( )可以用于上下文管理器。例如with file.open( )as f。
●连接MySQL不再使用mysqldb模块,改用为mysqlclient,两者之间并没有太大的使用差异。●Management Commands (管理命令):inspectdb将MySQL 的无符号整数视作PositiveIntegerField或者PositiveSmalllntegerFiede字段类型。

1.6安装Django(windows环境)

在python已经安装完成前提下(Python 3.7.3):

pip install django==2.2 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

(2.2版本相对稳定,不指定版本默认最新版本的3.XXX)

校验是否安装成功

进入python交互解释器:

import django
django.__version__
#结果显示:'2.2'

1.7.Django简单使用

1.进入django目录

F:\django————》cmd

2.创建一个新项目:HelloDjango

django-admin startproject HelloDjango

3.新建项目应用App

#进入HelloDjango目录:
cd HelloDjango#新建app:
python manage.py startapp HelloAPP将app添加到settings.py文件
# Application definition
#app应用
INSTALLED_APPS = [    ......'django.contrib.staticfiles',  #添加项目应用HelloApp'HelloAPP',
]#pycharm新建项目不需要以下操作
#命令行方式创建项目,需要手动创建templates文件夹,并对其进行标记。并将templates添加到属性配置:
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates',#添加路径'DIRS': [os.path.join(BASE_DIR, 'templates')],'APP_DIRS': True,

4.启动服务器

#默认端口8000
python manage.py runserver
#浏览器中打开127.0.0.1:8000可以成功显示django项目运行情况#指定端口
python manage.py runserver 8001
#(一般情况不需要改动)

5.数据库迁移

#生成数据迁移文件
python manage.py makemigrations
#数据迁移
python manage.py migrate

参考书籍《Django web应用开发实战》

第一章 Django 建站基础相关推荐

  1. 16第一章 ASP.Net编程基础知识

    第一章        ASP.Net编程基础知识 第一章        ASP.Net编程基础知识 本章首先介绍用ASP.Net技术编制服务器端动态网页所需的网络和HTML标记语言方面的有关知识.然后 ...

  2. 第一章c语言基础知识答案,第一章 C语言的基础知识练习题

    第一章 C语言的基础知识练习题 第一章 C语言的基础知识 第一节 对C语言的初步认识 习题 1. 下列叙述中错误的是 B A)任何一个C程序都必须有且仅有一个main函数,C语言总是从main函数开始 ...

  3. 计算机网络应用基础第一章试题,计算机网络应用基础第一章测试题

    计算机网络应用基础第一章测试题 计算机网络应用基础(第一章)测试题 一.填空题(每题3分,共15分) 1.计算机网络是和相结合的产物. 2.计算机网络分为和两个部分. 3.OSI基本构造技术是:. 4 ...

  4. Python+django建站入门篇(2):素数判断

    本文使用django框架搭建网站,运行之后,获取用户输入的整数,判断是否为素数并进行相应的提示. 本文技术要点: 1)使用django创建网站 2)了解MVC开发模式 3)设置路由 4)接收用户输入 ...

  5. c井语言和SQL第一章上机1,第一章 SQL Server 数据库基础复习内容(上机)

    上机课程总目标 在本学期中,将模拟开发一套学员信息管理系统,用来管理学员的个人基本资料,老师资料,学生成绩,课程信息等教学相关内容,以实现学校的信息自动化,提高工作效率. 该系统包括学生档案管理.学生 ...

  6. Python基础教程(第3版)中文版 第一章 快速上手:基础知识(笔记)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,分享给大家: https://www.captainai.net/lf 如果你学完了Python不知道干什么,不妨去了解一下. 第一章 快速 ...

  7. python 建站需求_python建站基础环境配置

    因为我平时大多数时候都是用的windows10系统,所以这一系列的笔记所记内容都是基于win10系统的. python版本选择 现在正是python2到python3过渡的时候,python2更成熟, ...

  8. _网站建站基础第十一课(域名解析服务器环境linux安装宝塔)

    在服务器,域名(国内备案)购买好之后,就可以开始搭建网站了,建站要为服务器解析好域名,然后配置好服务器环境,服务器环境就以linux系统+宝塔面板为例给大家演示: 域名备案成功后,进入服务器商的控制台 ...

  9. 【信息资源管理】第一章:信息资源管理基础

    导读: 信息琢磨不定,你感觉到它却不能很好理解它,只有很好的理解它才能更好的去感受 它. 花了一点时间对第一章进行了详读,顿时感觉文科生的优势出来了,啊,强大的抽象 理解力,开个玩笑.言归正传,第一章 ...

最新文章

  1. cocos2dx 制作单机麻将(二)
  2. Emacs中使用Forms-mode以表格形式展示/编辑简单的文本数据
  3. 【实践】端智能在大众点评搜索推荐重排序的应用实践
  4. 为什么基类的析构函数是虚函数?
  5. python有限元传热求解_二维稳态热传导基本方程的有限元求解(2)
  6. 设计模式----原型模式(C++实现)
  7. 小D课堂 - 新版本微服务springcloud+Docker教程_6-02 springcloud网关组件zuul
  8. bootdo定时任务
  9. mysql audit plugin_MySQL Audit Plugin的简单应用
  10. csdn的,精彩连载!
  11. 网站开启https后很慢_安装SSL证书会导致网站访问速度变慢?
  12. 多目标优化算法学习笔记(一)
  13. 计算机窗口移动不了怎么办,手把手为你解决笔记本电脑怎么拖动窗口
  14. Unity全局光照/Bake GI/Precomputed Real-time GI/Lightmap/Light Probe
  15. 字符编码、unicode、代码页、矢量字体及多国语开发
  16. 人工智能基础---上机2:产生式系统
  17. 【财经期刊FM-Radio|2021年04月14日】
  18. Personal Reading Assignment 2 -读推荐文章有感以及项目开发目前总结
  19. 问题解决FileNotFoundError: [Errno 2] No such file or directory: '/tmp/_MEImHg8uh/django/contrib/auth/pas
  20. 从温 《阳光灿烂的日子》

热门文章

  1. python面试知识点—基础篇
  2. 噶计算机,计算机模拟题目..doc
  3. MATLAB实现LZW编码与解码
  4. win10鼠标灵敏度怎么调_iPhone8怎么调3DTouch灵敏度 iPhone8调3DTouch灵敏度方法【介绍】...
  5. 【YOLOv7】主要改进点详解
  6. 特岗多少分入围_环球游戏开发挑战赛决赛入围者:查看六个获奖作品!
  7. ✪认知天性——分析导致记忆和学习失败的因素和过程
  8. 2021程序员熬夜加班,28岁大病一场后被裁看清生活真谛....
  9. 如何将pdf转为ppt?
  10. yolov3的GUI界面(简易,图片检测)