爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 24628|回复: 13

[经验总结] Django3 Web开发学习笔记

[复制链接]
发表于 2020-11-2 15:51:33 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 15195775117 于 2020-11-4 09:35 编辑

492963010.jpg

之前听闻Flask轻便,结果发现这是给有经验的老手自由发挥的,于是立即转向Django。
上网查了Django的版本,最新是3.1,所以从淘宝买了本最新版的:
《精通Django3 Web开发》黄永祥 2020.7第1版,第1次印刷
案例项目基于:
win10+PyCharm专业版+python3.8+
后端(Django3.0+MySQL8.0)+
前端(layui+jQuery)


由于PyCharm社区版没有web开发功能,所以我从淘宝花18.88元买了个专业版的账号。

书中源码下载地址:
《精通Django3 Web开发》源码下载地址1
《精通Django3 Web开发》源码下载地址2

安装Django:
pip install Django
>>> django.__version__
'3.1.2'
1688155615.jpg
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2020-11-2 15:58:05 | 显示全部楼层
【Django简介】

Django诞生于2008年,主要目的是快捷开发数据库驱动的网站Django的一个项目可以理解为一个网站

多个组件可以以插件的形式服务于整个框架。Django有很多强大的第三方插件,可便捷开发出自己的工具包,因此Django具有很强的扩展性。

MTV模式=Model+Template+Views
Model:数据存取(处理)层
Template:表现层
Views:业务逻辑层,模型与模板的桥梁,存取模型、调取模板

Django特点:
1、ORM=对象关系映射,通过定义[映射类]来构建[数据模型](是指Model?),将[数据模型]与[关系数据库]连接起来,使用[ORM框架]内置的[数据库接口]可实现复杂的数据操作。
2、开发者可以设计任意的URL,支持正则表达式
3、提供可扩展的模板语言(Jinja2?),模板间具有可继承性
4、各种表单模型,具有[有效性检验]功能
5、Cache缓存系统,支持多种缓存方式
6、Auth认证系统,提供用户认证、权限设置、用户组功能,扩展性强
7、内置国际化系统,方便开发出多种语言的网站(岂不是有切换语言的功能?)
8、内置Admin后台管理系统,系统扩展性强





密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-2 16:04:07 | 显示全部楼层
本帖最后由 15195775117 于 2020-12-1 15:28 编辑

【web开发基础概念】
  • URL=路由=网址,每个url代表不同的网页
  • Model=模型,即数据模型,与数据库表对应
  • Template=模板,是网页模板,经填入数据等操作后生成网页给用户
  • Views=视图,是做处理的,形式是函数或类
  • Cache=数据交换的缓冲区,当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。(那岂不比内存还快?)
  • WSGI=web服务器网关接口
  • Gateway=网关
  • Interface=接口
  • web服务器包括Apache,Nginx,IIS
  • 在前端三件宝的基础上衍生了许多【前端框架】:jQuery,Bootstrap,Vue,React,AngularJS...
  • 网站开发=前端(=网页设计)+后端
  • 热门后端开发语言:Java(主流),PHP(似乎只写服务器),Python(敏捷开发,单人可开发网站),GO
  • 常用数据库:MySQL(最好),MSSQL,Oracle,Redis
  • 后端开发需要的技术:后端开发语言+数据库+web服务器应用原理+基础运维技术
  • 【超文本】:包括图片音频链接程序等非文字元素。(与富文本异同?)
  • css选择器:功能是将html元素和css样式对应起来
  • DOM=JS的document对象的简称,它可以定位某个html标签并进行操作,从而实现网页的动态效果。一般不直接用DOM,jQuery间接用DOM,后来的vue等使用方式变了。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-2 16:12:48 | 显示全部楼层
【运行第一个项目】
新建Django项目:
新建项目.jpg
新建项目后会自动生成模板存放目录:
模板目录.jpg
新建Django项目后,创建app应用:在terminal中键入:
python manage.py startapp index
终端位置与启动app.jpg
启动项目:
启动Django项目.jpg
浏览器键入:http://127.0.0.1:8000/
页面.jpg


密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-2 16:43:57 | 显示全部楼层
本帖最后由 15195775117 于 2020-11-2 16:50 编辑

Django项目的组成
manage.py
命令行工具,内置多种方式与项目交互
在terminal键入python manage.py help可查看工具指令
asgi.py
异步通信服务
例如在线聊天
settings.py
项目配置文件

urls.py
路由

wsgi.py
WSGI
一般不修改
migrations.py
数据迁移

admin.py
app的后台管理

apps.py
app配置信息
一般不修改
tests.py
单元测试,自动化测试

models.py
MTV

templates文件夹

views.py


密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-11-2 21:00:30 | 显示全部楼层
前端用什么框架
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-2 21:22:21 | 显示全部楼层

大约十种起码,常见的Vue,React,Bootstrap,前2者可做大型网站前端,第3个灵活便捷。其他还有很多种,反正就是html+css+js的子孙
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-11-3 11:56:37 | 显示全部楼层
15195775117 发表于 2020-11-2 21:22
大约十种起码,常见的Vue,React,Bootstrap,前2者可做大型网站前端,第3个灵活便捷。其他还有很多种, ...

我想写一个展示图片的网页,感觉上手很难啊
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-3 13:48:45 | 显示全部楼层
werewolf 发表于 2020-11-3 11:56
我想写一个展示图片的网页,感觉上手很难啊

只是放几张图片的话,直接用html就写成了啊,有个img标签写法如下:
<img src="....../image.jpg" width="200" height="150" />
可以参考我之前的笔记,有一些图文的示例:HTML基础笔记
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-11-3 15:25:28 | 显示全部楼层
15195775117 发表于 2020-11-3 13:48
只是放几张图片的话,直接用html就写成了啊,有个img标签写法如下:

可以参考我之前的笔记,有一些图 ...

还是要用js啊,选时间。图片分类什么的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表