第一章 Django 建站基础

第一章 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应用开发实战》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值