这是我参与「第四届青训营 」笔记创作活动的第2天
Django是什么
Django是一个python的后端库。可以处理前端发来的各种请求。
还是先理解一下什么是后端吧
后端的职能:响应前端用户的请求。
Request-Response Cycle
举个例子,京东上用户买一个耳机(点击下单按钮,前端发送request), 后端接受request之后用数据库(Database)储存用户的单子,然后回复用户:我们已经收到了你们的请求(后端response). 前端用户就会看到一个“购买成功”页面. 这就是一个完整的request-response cycle.
API
API:Application Programming Interface
后端学习最重要的就是掌握API. API也就是各种封装的接口, 比如接受http协议数据包的接口, 调用数据库的接口等等. 不需要自己造一个http解析器/数据库.
REST Naming conventions for API(API语义化, 清晰易懂)
Cloud, Virtual Machines
AWS, Google Cloud Services, Microsoft Azure, 阿里云, 腾讯云等等.
核心技术就是拿一台很好的服务器, 通过虚拟化技术拆成很多小的虚拟机, 把虚拟机卖给搭网站的人.
IaaS, PaaS, SaaS
这个解释起来麻烦,而且和后端学习无关,不解释了.
Primary/Secondary Databases; Search Databases; Cache; Analytical Database, etc.
-
Primary Database: SQL, MongoDB这种. 直接存储/调取数据.
-
Search Database: ElasticSearch(因为SQL这种数据库对纯文本搜索不擅长)
-
Cache: 网站流量太大时可以使用缓存缓解服务器压力. 代表工具Redis.
-
Analytical Database: Snowflake, 用来搞大数据.
Say Hello world with Django!
安装Django.
建议使用python的pip包管理器安装Django。
建议使用阿里云的pip源安装Django, Ubuntu的源太慢了。
Console:
pip install django -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
许多文章建议我搞一个virtual environment(venv)来安装python的包,但是我不喜欢弄这个。所以不管了。不影响使用。不知道为啥大家这么喜欢venv。
Django的Hello-world Project
首先在项目的根目录下创建一个Django项目:
假设根目录是project
Console: ~/project$ django-admin startproject myproject
这里 myproject是你新建的项目名称。
然后创建一个Django app (可以理解为 a sub module of a django project)
create Django app :
Console: ~/project$ python manage.py startapp myapp
现在project文件夹下就存在了:
文件夹myproject(project主文件夹), 文件夹myapp(Django app文件夹)以及 manage.py
Console运行:~/project$ python manage.py runserver
就好啦!
根目录project文件夹结构(仅包括重要文件):
- myproject(你的Django项目名称)
- settings.py
- urls.py
- myapp(你的Django app名称)
- urls.py
- views.py
- manage.py
记住,一切服务端(后端)的操作都在console中都围绕着manage.py进行!!!
Django部署自己的网页
你需要找到 project/myproject(或者其他你的项目名称)/settings.py, 然后找到 TEMPLATES
更改箭头所指的这一行:
然后在根目录下新建templates文件夹,加入你的html文件!好啦!