开始学习Django,配置静态登录页面

开始学习Django,配置静态登录页面

准备阶段

众所周知,Django是一个重量级的设备齐全的web开发框架。在学习Django前我们需要具备如下的知识点:

  • python基础编程
  • 并发
  • 网络编程
  • HTTP协议的一些基础知识
  • 前端的基础知识(html+css+js)

这里主要是http相关的事情,首先,我们需要知道当我们在浏览器输入地址后到浏览器显示内容所发生的操作。

  1. 首先, DNS域名服务器解析地址,获取服务器
  2. 计算机尝试连接服务器
  3. 连接成功后,发生请求
  4. 服务器收到请求,并返回响应数据
  5. 计算机断开TCP连接
  6. 计算机通过服务器返回的数据渲染页面

http的请求方法,主要有八种,但是最常用的只有两种

  • get 发送请求数据
  • post 发送响应数据
  • head
  • put
  • delete
  • options
  • trace
  • connection

http状态码

  • 1xx处理: 服务器收到后继续处理
  • 2xx成功: 服务器成功接收、处理、理解请求
  • 3xx重定向:服务器不做继续处理
  • 4xx请求错误:请求数据有误(文件不存在、域名有问题)
  • 5xx服务器错误:服务器发生问题(机房突然断电)

http/https地址解析
https://deepnote.com/project/926fc86b-4ba5-44c2-b77b-c9f6d3e6ab7d#%2Fstudy%2Fstudy1213.ipynb

  • https:协议
  • //: 层级划分符
  • 访问资源的凭证信息,表示特殊权限才能访问(默认没有)
  • deepnote.com: 服务器(域名)
  • 端口号,http默认80,https默认443
  • project/926fc86b-4ba5-44c2-b77b-c9f6d3e6ab7d#%2Fstudy%2Fstudy1213.ipyn: 文件路径
  • ?key=value&...: 查询
  • #xx:片段

http请求

我们可以知道http请求的格式为:

请求方式 路径 协议版本\r\n
。。。请求头\r\n
\r\n
。。。。请求数据

可以对着查看下面的:

# 请求发送的数据
'''
GET / HTTP/1.1
Host: 127.0.0.1:8888
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
\Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9

\'''



Http响应

我们可以知道响应的主要格式为:

协议版本 响应码 状态描述\r\n
响应行\r\n
\r\n
响应数据

可以查看如下的代码:

from socket import *




if __name__ == '__main__':
    s = socket()

    s.bind(('localhost', 8888))
    s.listen()

    while True:

        new_socket, new_addr = s.accept()
        data = new_socket.recv(1024)

        new_socket.send(b"""HTTP/1.1 200 OK\r\ncontent-type:text/html;charset=utf-8\r\n\r\n""")  # 注意回复http响应的格式
        # 粘包
        new_socket.send("""
        <!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"></head><body><h1>哈哈哈哈</h1></body></html>
        """.encode('utf-8'))
    s.close()

Django

首先我们需要安装Django:

pip install Django -i 源地址(清华源、豆瓣)# 加快下载速度

安装好以后,创建项目:

假设我们项目取名为web_test,那么我们可以看到我们存在着:2个文件夹(templates、web_test)和一个manager.py的文件。

我们点击如下地方:

然后浏览器框输入:127.0.0.1:8000,若没有什么其他的错误就表示安装完成了。

其中我们最主要使用的就是setting.py和urls.py,其中前者是对于一些路径的配置,而后者则是对于浏览器要请求的页面进行一个返回,比如:

其中:index和login都是可以访问的,我们可以直接在浏览器输入:127.0.0.1/index或者127.0.0.1/login进行访问。

接下来就是配置一个静态的登录页面,效果如下:

首先,我们在bootstrap上找到模板,并把body的代码复制下来,并下载bootstrap。

键盘上按下F12,然后复制body里的内容:

然后再templates里创建一个login.html,并把内容粘贴进去,如下:

然后在setting.py的最后一句进行如下设置,并且创建一个statc文件夹用于存放静态的css、js、images,注意:每一个页面都应该有一个static文件夹:

在static文件夹中创建一个plugins文件夹,并把下载的bootstrap解压进去,如下:

然后引入相应的css文件:

另外,在urls.py文件中,每一个页面都应该有一个处理的函数,如下:

这里需要导包:from django.shortcuts import render
最后的话,在pycharm中点击那个绿色的小三角,并在浏览器输入:127.0.0.1:8000/login 就可以看到效果啦!!!!
若有什么问题请评论区回复。。。

posted @ 2020-12-14 15:46  JonnyJiang-zh  阅读(283)  评论(0编辑  收藏  举报