Web开发与Django的认识

本文介绍Django框架的基本概念与安装步骤,强调其在Web开发中的高效性及局限性。同时,深入讲解Python中的正则表达式,包括常见匹配模式和语法,帮助读者掌握高效字符串处理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Web开发的核心

在这里插入图片描述

request:用户发起的请求

response:服务器返回的响应

URL(统一资源定位符):资源在服务上的位置

URI(统一资源匹配符)

https://pics1.baidu.com/feed/e4dde71190ef76c605e25f73dc69eaffaf51673e.jpeg

协议:https,http,ftp,file。

域名部分:pics1.baidu.com

资源在服务器上的路径:/feed/

资源名称与类型:e4dde71190ef76c605e25f73dc69eaffaf51673e.jpeg

路由:类似企业的前台,当有请求通过,有路由功能指向具体处理的部分。

视图:具体提供web服务功能

​ 用户通过浏览器或者脚本使用url进行web请求,服务器接收web请求然后交给路由处理,路由执行具体处理的功能块,我们把这个功能块称为视图。由视图提供具体的处理工作。但是视图在处理请求的过程当中,可能需要调用数据库。所以视图也要连接数据库。

在这里插入图片描述

Django

Django框架:有python开发的web开发框架。框架是一种项目共性代码的集合。

Django的优点:①django拥有完备的功能封装,好多功能不需要手动编写,调用即可②Django的开发效率极高。

Django的缺点:①开发灵活度不够,如果进行定制开发,极有可能需要修改源码②执行的效率较低。

Django通常用于在工作当中快速实现一个完整的功能,然后针对功能再进行细节开发。

Django环境的安装

开发环境安装

1,创建Django的沙箱环境,要求是python3.5

打开CMD命令行输入:conda create -n DjangoPath python=3.5.2

2,在沙箱环境当中安装Django2.2.1

1,激活虚拟环境
activate DjangoPath
2,安装Django2.2.1
pip install django==2.2.1——》默认为国外源
国内源:
	阿里云 http://mirrors.aliyun.com/pypi/simple/
	豆瓣http://pypi.douban.com/simple/
	清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
	中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
	华中科技大学http://pypi.hustunique.com/
3,测试安装
activate DjangoPath
python——》进入python

Django初体验(命令行)

1,找到要创建Django的项目,打开命令行

2,激活虚拟环境,创建Django项目

activate DjangoPath ——》激活环境
django-admin startproject Blog——》创建Django项目

3,切入项目目录,执行启动命令

Python manage.py runserver
Python manage.py runserver0.0.0.0:8000
Runserver 命令可以指定ip和端口
0.0.0.0代表所有ip

正则表达式

正则表达式:是一种高级字符串处理方式,通常用于字符串的匹配。

在所有Python字符匹配任务当中,分为两种匹配:

内容匹配: 根据对字符的内容类型,长度来描述字符,对内容进行匹配的方法是 正则

结构匹配: 根据对字符所处的位置进行描述的匹配,叫做结构匹配,对结构进行匹配的方法是 xpath

二者都有的匹配模块时beautifulsoup简称bs4

Python当中的正则模块叫做,re

Re.findall 目的就是匹配字符串当中所有满足条件的字符

内容类型的描述:

import re
str="""hello World my phone number
 is 155033244833309099 !"""
#原样匹配,匹配字符原样,通常结合其他匹配使用
result=re.findall(r"l",str)
print(result)
#匹配所有非换行的字符
result=re.findall(r".",str)
print(result)
# 匹配所有数字
result=re.findall(r"\d",str)
print(result)
#匹配所有的非数字
result=re.findall(r"\D",str)
print(result)
#匹配所有字母、数字、下划线
result=re.findall(r"\w",str)
print(result)
# 匹配所有字符串当中的所有的非字母、非数字、非下划线
result=re.findall(r"\W",str)
print(result)
#[] 匹配括号里的任意元素
result=re.findall(r"[hl12]",str)
print(result)#
#[] 匹配括号里的范围里的任意元素
result=re.findall(r"[1-9]",str)
print(result)
#[] 匹配非括号里的任意元素
result=re.findall(r"[^lo]",str)
print(result)
#匹配|两边的任意一边
result=re.findall(r"h|1|2",str)
print(result)
#()组匹配,	匹配括号内的表达式
result=re.findall(r"(\d)",str)
print(result)
#命名组匹配,匹配一个前面相同的组
result=re.findall(r"(?P<num>\d)(?P=num)",str)
print(result)
# *匹配0到多个
result=re.findall(r"\d*",str)
print(result)
# +匹配1到多个
result=re.findall(r"\d+",str)
print(result)
#? 匹配0到1个
result=re.findall(r"\d?",str)
print(result)
#{}匹配几个 
result=re.findall(r"1\d{10}",str)
print(result)
#匹配字符串的开头
result=re.findall(r"^h",str)
print(result)
#匹配字符串的开头结尾
result=re.findall(r"h$",str)
print(result)
#Re.search和re.match都是匹配一次指定的字符,re.search是从字符整体开始匹配,而match是从开头匹配,也就是说,如果开头没有,search会向后接着匹配,match会返回None。
result=re.search(r"\w\w",str)
print(result)
print(result.group())
print(result.groups())
#
result=re.match(r"l",str)
print(result)
print(result.group())
print(result.groups())
# 匹配包括换行在内的所有字符
result=re.findall(r".",str,re.S)
print(result)
#忽略大小写匹配
result=re.findall(r"[a-z]",str,re.I)
print(result)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值