web学习
-
准备工具
- ubuntu mysql Redis python3.0 pycharm chrome
-
B/S和 C/S
- C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer。客户端需要安装专用的客户端软件。
- 缺点:对客户机要求高,迭代成本高
- B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互
-
框架
- 框架提供使用接口
- Django框架:
- Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发原则。
- Flask框架
- Flask相对于Django而言是轻量级的Web框架。和Django不同,Flask轻巧、简洁,通过定制第三方扩展来实现具体功能。可定制性,通过扩展增加其功能,这是Flask最重要的特点。Flask的两个主要核心应用是Werkzeug和模板引擎Jinja.
-
MVC/MVT
- MVC包括
- view(视图):呈现给用户的效果,呈现的内容是基于Model,它也是收集用户输入的地方。比如看到一篇Live,数据是一个Live.get(live_id).to_dict()的结果,效果是通过对应的模板和样式把这个数据展示出来
- modoel(模型):是对客观事物的抽象。比如上篇我们说到的知乎Live,Live就是一个模型,可以用Live类来表示。而一个模型通常还带有很多的和业务相关的逻辑,比如添加,更新,获取Live主讲人信息等等,这些组成了模型的方法。对于开发者模型的表示方法非常易懂和清晰,可以通过非常便捷的代码来做CURD操作而无需写一条又一条的SQL语句
- Contorller(控制器):是Model和View之间的沟通者。 因为View中不会对Model作任何操作,Model不会输出任何用于表现的东西,如HTML代码或者某种效果等,它就是点数据。而Contorller用于决定使用哪些Model,对Model执行什么操作,为视图准备哪些数据,是MVC中沟通的桥梁。
- MVC包括
-
django中的目录文件:
- init.py:他是项目的初始化文件 有了这个文件 标志当前文件夹是一个包,可以被引用
- settings.py:所有的django的配置信息都在这里面包括数据库的配置 静态文件的配置 还有django依赖的第三方扩展包
- urls.py:他就是我刚刚提到的路由分发器
- wsgi.py:是一个服务器的启动文件,后期项目上线需要用到他
- manage.py:他是整个Django项目的启动文件
-
创建django_app:python manage.py startapp name
-
运行django:进入项目目录后 执行python manage.py runserver
-
django的运行流程:
请求 – urls.py --匹配视图-- views.py – models – 链接数据库
– 返回数据渲染模板 -
settings文件的配置:语言改成:zh-hans
时区改成:Asia/Shanghaitemplates模板也要配置进去:
os.path.join(BASE_DIR,‘template’)