开始学习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 就可以看到效果啦!!!!

若有什么问题请评论区回复。。。

开始学习Django,配置静态登录页面的更多相关文章

  1. django配置静态文件

    django配置静态文件 参考文章链接:http://blog.csdn.net/hireboy/article/details/8806098

  2. django配置静态文件的两种方法

    方法一:按照django配置静态文件的方法,可以在APP应用目录下创建一个static的文件夹,然后在static文件夹下创建一个和APP同名的文件夹,如我有一个blog的django项目,在下面有一 ...

  3. django配置*app*登录案例*orm简用

    1.静态文件的配置和使用 1.静态文件的配置和使用 没有css样式: 添加样式 结果: <html lang="en"> <head> <meta c ...

  4. 微信小程序相关一、模仿京东静态登录页面

    一.培训的第一天,基本上没有什么最新的东西,但是看到老师的代码收获的确实是不少. 1.1.首页代码很简洁,将共有的样式都提取的很好. 1.2.其次是每一个小块写样式的时候用到了好多子代选择器和后代选择 ...

  5. Django配置静态文件(CSS\js)及Django调用JS、CSS、图片等静态文件

    1 新建一项目: root@python:django-admin.py startproject csstest root@python:cd csstest root@python:ls csst ...

  6. Django配置邮箱登录

    1.settings下配置 # AUTH 方法(支持邮箱登录) AUTHENTICATION_BACKENDS = ('users.views.CustomBackend',) 2.views下逻辑如 ...

  7. django在验证登录页面时遇到的数据查询问题

    数据库查询时针对不存在的用户名进行验证 django在查询数据库时,可以使用get和filter两种方法. 两者的区别 当数据库内不存在该数据时,get会返回异常,而filter会返回空. 当数据库内 ...

  8. (转).net程序员转战android第三篇---登录模块之静态登录

    这一篇我将分2个部分记录登录界面,第一部分是静态登录, 这部分将如何从界面布局.控件使用.文件关系.数据验证.登陆实现等5小块记录. 第二部分是动态登录,这块会基于上面的4小块,在数据验证不是静态数据 ...

  9. .net程序员转战android第三篇---登录模块之静态登录

    这一篇我将分2个部分记录登录界面,第一部分是静态登录, 这部分将如何从界面布局.控件使用.文件关系.数据验证.登陆实现等5小块记录. 第二部分是动态登录,这块会基于上面的4小块,在数据验证不是静态数据 ...

随机推荐

  1. 多线程实现socketserver练习

    1.server import socket from threading import Thread def my_socketserver(conn, addr): conn.send(b'hel ...

  2. RedHat Linux-配置YUM仓库

    范例:配置Yum仓库 Yum软件仓库的作用是为了进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术.可以把Yum想象成是一个硕大的软件仓库,里面保存有几乎所有常用的工具,而且只需要 ...

  3. php 数据转储Excel文件

    1.下载PHPExcel文件 下载地址:https://www.php.cn/xiazai/leiku/1491 2.在php写入以下代码,执行即可 $arr = Db::name('user')-& ...

  4. 在linux系统中通过fw_printenv查看和设置u-boot中的环境变量

    uboot下可以通过命令访问(printenv)和修改环境变量(setenv),但是如果需要在Linux系统下访问这些数据该怎么办呢?其实uboot早就帮我们想好了.  1.编译fw_printenv ...

  5. Spring 源码阅读环境的搭建

    前言 本文记录了 Spring 源码环境的搭建方式,以及踩过的那些坑!​当前版本:5.3.2-SNAPSHOT. 环境准备 Git JDK master 分支需要 JDK 11 5.2.x 分支, J ...

  6. LeetCode 018 4Sum

    题目描述:4Sum Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c ...

  7. 学习Java的第一步,配置电脑环境

    JAVA安装与配置 俗话说的好,工欲善其事,必先利其器,想要学习Java,那么我们首先需要一个能够进行学习的环境. 一.安装JDK 为什么要安装jdk,jdk是什么? ​ JDK是java软件开发包( ...

  8. Kubernetes K8S之固定节点nodeName和nodeSelector调度详解

    Kubernetes K8S之固定节点nodeName和nodeSelector调度详解与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-mas ...

  9. Linux|CentOS下配置Maven环境

    1.下载maven包 wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven ...

  10. Prometheus 使用之 node exporter

    本文使用的 Prometheus 版本为 2.22.0,node exporter 版本为 1.0.1:部署在 Linux 服务器Prometheus 是开源的监控报警系统和时序列数据库 (TSDB) ...