Django学习笔记1:Django Hello world project! | 青训营笔记

146 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第2天

Django是什么

Django是一个python的后端库。可以处理前端发来的各种请求。

还是先理解一下什么是后端吧

后端的职能:响应前端用户的请求。

Request-Response Cycle

举个例子,京东上用户买一个耳机(点击下单按钮,前端发送request), 后端接受request之后用数据库(Database)储存用户的单子,然后回复用户:我们已经收到了你们的请求(后端response). 前端用户就会看到一个“购买成功”页面. 这就是一个完整的request-response cycle. r-r-Cycle.png

API

API:Application Programming Interface

后端学习最重要的就是掌握API. API也就是各种封装的接口, 比如接受http协议数据包的接口, 调用数据库的接口等等. 不需要自己造一个http解析器/数据库.

API.png

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 更改箭头所指的这一行:

image.png

然后在根目录下新建templates文件夹,加入你的html文件!好啦!

参考资料