一些关于python的小实践
import poimage from PyPDF2 import PdfReader, PdfWriter from tqdm import tqdm def merge2pdf(one_by_one, output): @Author & Date : CoderWanFeng 2022/5/16 23:33 @Desc : merge_pdfs(paths=['开篇词.pdf', '中国元宇宙白皮书 (送审稿).pdf'], output='merge.pdf') pdf_writer = PdfWriter() for path in one_by_one: pdf_reader = PdfReader(path) # for page in tqdm(range(pdf_reader.getNumPages())): for page in simple_progress(range(len(pdf_reader.pages))): # 把每张PDF页面加入到这个可读取对象中 # pdf_writer.addPage(pdf_reader.getPage(page)) pdf_writer.add_page(pdf_reader.pages[page]) # 把这个已合并了的PDF文档存储起来 with open(output, 'wb') as out: pdf_writer.write(out) def simple_progress(base, desc=None, log=True): if log and desc: return tqdm(iterable=base, desc=desc) elif log: return tqdm(iterable=base) else: return base if __name__ == '__main__': merge2pdf(one_by_one=[r'D:\test1.pdf', r'D:\test2.pdf'], output=r'D:\output.pdf') 提示:需要安装PyPDF2 等库 pip install PyPDF2 二、python图片添加水印 import poimage from PyPDF2 import PdfReader, PdfWriter from tqdm import tqdm def add_watermark(file, mark, output_path='./', color="#eaeaea", size=30, opacity=1, space=200, angle=30): 给图片加水印 Args: file: 图片位置 mark: 水印内容 output_path: 输出位置 color: 水印颜色 size: 水印大小 opacity: 不透明度,0.01~1 space: 水印间距 angle: 水印角度 Returns: poimage.add_watermark(file, mark, output_path, color, size, opacity, space, angle) if __name__ == '__main__': add_watermark(file=r'C:\Users\e2e\Pictures\Screenshot 2024-01-10 101054.png', mark='Wenhaofu') poimage.del_watermark( input_image=r"E:\pdf\MicrosoftTeams-image (62).png", output_image=r'E:\pdf\del_watermark.jpg') 三、python实现web 目标通过Django实现,web里面插入图片视频,并进行简单的排版和描述。 1.Django的安装 pip install django 2.创建项目 2.1 通过终端创建 1.打开终端 2.进入某个目录(项目放在哪就去哪,最好不要出现中文,防止编码问题) 3.执行命令来创建项目 django-admin.exe startproject track_chart_web 比如我们创建项目名为track_chart_web的django项目,输入django-admin.exe startproject track_chart_web,即可看到自动生成的目录结构,此时django项目就创建成功了: 3.创建APP 这里的APP不是手机应用那个APP,而是一部分功能的意思。一个Django项目可能需要处理多个业务,我们将业务拆解,一部分一部分分开来管理代码会比较有条理,所以可以通过创建多个app来分别实现多个业务功能。 用Pycharm打开命令行界面(通过cmd打开也行,不过每次打开都要切换到当前项目路径下,很麻烦,所以最好直接用Pycharm的命令行界面直接打开),然后输入指令python manage.py startapp app名(通过manage.py来创建app)。 python manage.py startapp index 4.快速上手 4.1 确保注册app 在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容 3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上 4.2 URL和函数的映射 大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下: 找到urls.py中列表变量urlpatterns,添加一行path(‘’, ) 4.3 视图函数的撰写 4.3.1 render()使用 正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。 # 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
import poimage from PyPDF2 import PdfReader, PdfWriter from tqdm import tqdm def merge2pdf(one_by_one, output): @Author & Date : CoderWanFeng 2022/5/16 23:33 @Desc : merge_pdfs(paths=['开篇词.pdf', '中国元宇宙白皮书 (送审稿).pdf'], output='merge.pdf') pdf_writer = PdfWriter() for path in one_by_one: pdf_reader = PdfReader(path) # for page in tqdm(range(pdf_reader.getNumPages())): for page in simple_progress(range(len(pdf_reader.pages))): # 把每张PDF页面加入到这个可读取对象中 # pdf_writer.addPage(pdf_reader.getPage(page)) pdf_writer.add_page(pdf_reader.pages[page]) # 把这个已合并了的PDF文档存储起来 with open(output, 'wb') as out: pdf_writer.write(out) def simple_progress(base, desc=None, log=True): if log and desc: return tqdm(iterable=base, desc=desc) elif log: return tqdm(iterable=base) else: return base if __name__ == '__main__': merge2pdf(one_by_one=[r'D:\test1.pdf', r'D:\test2.pdf'], output=r'D:\output.pdf') 提示:需要安装PyPDF2 等库
提示:需要安装PyPDF2 等库
pip install PyPDF2 二、python图片添加水印 import poimage from PyPDF2 import PdfReader, PdfWriter from tqdm import tqdm def add_watermark(file, mark, output_path='./', color="#eaeaea", size=30, opacity=1, space=200, angle=30): 给图片加水印 Args: file: 图片位置 mark: 水印内容 output_path: 输出位置 color: 水印颜色 size: 水印大小 opacity: 不透明度,0.01~1 space: 水印间距 angle: 水印角度 Returns: poimage.add_watermark(file, mark, output_path, color, size, opacity, space, angle) if __name__ == '__main__': add_watermark(file=r'C:\Users\e2e\Pictures\Screenshot 2024-01-10 101054.png', mark='Wenhaofu') poimage.del_watermark( input_image=r"E:\pdf\MicrosoftTeams-image (62).png", output_image=r'E:\pdf\del_watermark.jpg') 三、python实现web 目标通过Django实现,web里面插入图片视频,并进行简单的排版和描述。 1.Django的安装 pip install django 2.创建项目 2.1 通过终端创建 1.打开终端 2.进入某个目录(项目放在哪就去哪,最好不要出现中文,防止编码问题) 3.执行命令来创建项目 django-admin.exe startproject track_chart_web 比如我们创建项目名为track_chart_web的django项目,输入django-admin.exe startproject track_chart_web,即可看到自动生成的目录结构,此时django项目就创建成功了: 3.创建APP 这里的APP不是手机应用那个APP,而是一部分功能的意思。一个Django项目可能需要处理多个业务,我们将业务拆解,一部分一部分分开来管理代码会比较有条理,所以可以通过创建多个app来分别实现多个业务功能。 用Pycharm打开命令行界面(通过cmd打开也行,不过每次打开都要切换到当前项目路径下,很麻烦,所以最好直接用Pycharm的命令行界面直接打开),然后输入指令python manage.py startapp app名(通过manage.py来创建app)。 python manage.py startapp index 4.快速上手 4.1 确保注册app 在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容 3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上 4.2 URL和函数的映射 大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下: 找到urls.py中列表变量urlpatterns,添加一行path(‘’, ) 4.3 视图函数的撰写 4.3.1 render()使用 正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。 # 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
pip install PyPDF2
二、python图片添加水印 import poimage from PyPDF2 import PdfReader, PdfWriter from tqdm import tqdm def add_watermark(file, mark, output_path='./', color="#eaeaea", size=30, opacity=1, space=200, angle=30): 给图片加水印 Args: file: 图片位置 mark: 水印内容 output_path: 输出位置 color: 水印颜色 size: 水印大小 opacity: 不透明度,0.01~1 space: 水印间距 angle: 水印角度 Returns: poimage.add_watermark(file, mark, output_path, color, size, opacity, space, angle) if __name__ == '__main__': add_watermark(file=r'C:\Users\e2e\Pictures\Screenshot 2024-01-10 101054.png', mark='Wenhaofu') poimage.del_watermark( input_image=r"E:\pdf\MicrosoftTeams-image (62).png", output_image=r'E:\pdf\del_watermark.jpg') 三、python实现web 目标通过Django实现,web里面插入图片视频,并进行简单的排版和描述。 1.Django的安装 pip install django 2.创建项目 2.1 通过终端创建 1.打开终端 2.进入某个目录(项目放在哪就去哪,最好不要出现中文,防止编码问题) 3.执行命令来创建项目 django-admin.exe startproject track_chart_web 比如我们创建项目名为track_chart_web的django项目,输入django-admin.exe startproject track_chart_web,即可看到自动生成的目录结构,此时django项目就创建成功了: 3.创建APP 这里的APP不是手机应用那个APP,而是一部分功能的意思。一个Django项目可能需要处理多个业务,我们将业务拆解,一部分一部分分开来管理代码会比较有条理,所以可以通过创建多个app来分别实现多个业务功能。 用Pycharm打开命令行界面(通过cmd打开也行,不过每次打开都要切换到当前项目路径下,很麻烦,所以最好直接用Pycharm的命令行界面直接打开),然后输入指令python manage.py startapp app名(通过manage.py来创建app)。 python manage.py startapp index 4.快速上手 4.1 确保注册app 在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容 3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上 4.2 URL和函数的映射 大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下: 找到urls.py中列表变量urlpatterns,添加一行path(‘’, ) 4.3 视图函数的撰写 4.3.1 render()使用 正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。 # 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
import poimage from PyPDF2 import PdfReader, PdfWriter from tqdm import tqdm def add_watermark(file, mark, output_path='./', color="#eaeaea", size=30, opacity=1, space=200, angle=30): 给图片加水印 Args: file: 图片位置 mark: 水印内容 output_path: 输出位置 color: 水印颜色 size: 水印大小 opacity: 不透明度,0.01~1 space: 水印间距 angle: 水印角度 Returns: poimage.add_watermark(file, mark, output_path, color, size, opacity, space, angle) if __name__ == '__main__': add_watermark(file=r'C:\Users\e2e\Pictures\Screenshot 2024-01-10 101054.png', mark='Wenhaofu') poimage.del_watermark( input_image=r"E:\pdf\MicrosoftTeams-image (62).png", output_image=r'E:\pdf\del_watermark.jpg') 三、python实现web 目标通过Django实现,web里面插入图片视频,并进行简单的排版和描述。 1.Django的安装 pip install django 2.创建项目 2.1 通过终端创建 1.打开终端 2.进入某个目录(项目放在哪就去哪,最好不要出现中文,防止编码问题) 3.执行命令来创建项目 django-admin.exe startproject track_chart_web 比如我们创建项目名为track_chart_web的django项目,输入django-admin.exe startproject track_chart_web,即可看到自动生成的目录结构,此时django项目就创建成功了: 3.创建APP 这里的APP不是手机应用那个APP,而是一部分功能的意思。一个Django项目可能需要处理多个业务,我们将业务拆解,一部分一部分分开来管理代码会比较有条理,所以可以通过创建多个app来分别实现多个业务功能。 用Pycharm打开命令行界面(通过cmd打开也行,不过每次打开都要切换到当前项目路径下,很麻烦,所以最好直接用Pycharm的命令行界面直接打开),然后输入指令python manage.py startapp app名(通过manage.py来创建app)。 python manage.py startapp index 4.快速上手 4.1 确保注册app 在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容 3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上 4.2 URL和函数的映射 大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下: 找到urls.py中列表变量urlpatterns,添加一行path(‘’, ) 4.3 视图函数的撰写 4.3.1 render()使用 正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。 # 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
import poimage from PyPDF2 import PdfReader, PdfWriter from tqdm import tqdm def add_watermark(file, mark, output_path='./', color="#eaeaea", size=30, opacity=1, space=200, angle=30): 给图片加水印 Args: file: 图片位置 mark: 水印内容 output_path: 输出位置 color: 水印颜色 size: 水印大小 opacity: 不透明度,0.01~1 space: 水印间距 angle: 水印角度 Returns: poimage.add_watermark(file, mark, output_path, color, size, opacity, space, angle) if __name__ == '__main__': add_watermark(file=r'C:\Users\e2e\Pictures\Screenshot 2024-01-10 101054.png', mark='Wenhaofu') poimage.del_watermark( input_image=r"E:\pdf\MicrosoftTeams-image (62).png", output_image=r'E:\pdf\del_watermark.jpg')
三、python实现web 目标通过Django实现,web里面插入图片视频,并进行简单的排版和描述。 1.Django的安装 pip install django 2.创建项目 2.1 通过终端创建 1.打开终端 2.进入某个目录(项目放在哪就去哪,最好不要出现中文,防止编码问题) 3.执行命令来创建项目 django-admin.exe startproject track_chart_web 比如我们创建项目名为track_chart_web的django项目,输入django-admin.exe startproject track_chart_web,即可看到自动生成的目录结构,此时django项目就创建成功了: 3.创建APP 这里的APP不是手机应用那个APP,而是一部分功能的意思。一个Django项目可能需要处理多个业务,我们将业务拆解,一部分一部分分开来管理代码会比较有条理,所以可以通过创建多个app来分别实现多个业务功能。 用Pycharm打开命令行界面(通过cmd打开也行,不过每次打开都要切换到当前项目路径下,很麻烦,所以最好直接用Pycharm的命令行界面直接打开),然后输入指令python manage.py startapp app名(通过manage.py来创建app)。 python manage.py startapp index 4.快速上手 4.1 确保注册app 在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容 3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上 4.2 URL和函数的映射 大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下: 找到urls.py中列表变量urlpatterns,添加一行path(‘’, ) 4.3 视图函数的撰写 4.3.1 render()使用 正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。 # 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
目标通过Django实现,web里面插入图片视频,并进行简单的排版和描述。
pip install django 2.创建项目 2.1 通过终端创建 1.打开终端 2.进入某个目录(项目放在哪就去哪,最好不要出现中文,防止编码问题) 3.执行命令来创建项目 django-admin.exe startproject track_chart_web 比如我们创建项目名为track_chart_web的django项目,输入django-admin.exe startproject track_chart_web,即可看到自动生成的目录结构,此时django项目就创建成功了: 3.创建APP 这里的APP不是手机应用那个APP,而是一部分功能的意思。一个Django项目可能需要处理多个业务,我们将业务拆解,一部分一部分分开来管理代码会比较有条理,所以可以通过创建多个app来分别实现多个业务功能。 用Pycharm打开命令行界面(通过cmd打开也行,不过每次打开都要切换到当前项目路径下,很麻烦,所以最好直接用Pycharm的命令行界面直接打开),然后输入指令python manage.py startapp app名(通过manage.py来创建app)。 python manage.py startapp index 4.快速上手 4.1 确保注册app 在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容 3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上 4.2 URL和函数的映射 大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下: 找到urls.py中列表变量urlpatterns,添加一行path(‘’, ) 4.3 视图函数的撰写 4.3.1 render()使用 正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。 # 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
pip install django
2.创建项目 2.1 通过终端创建 1.打开终端 2.进入某个目录(项目放在哪就去哪,最好不要出现中文,防止编码问题) 3.执行命令来创建项目 django-admin.exe startproject track_chart_web 比如我们创建项目名为track_chart_web的django项目,输入django-admin.exe startproject track_chart_web,即可看到自动生成的目录结构,此时django项目就创建成功了: 3.创建APP 这里的APP不是手机应用那个APP,而是一部分功能的意思。一个Django项目可能需要处理多个业务,我们将业务拆解,一部分一部分分开来管理代码会比较有条理,所以可以通过创建多个app来分别实现多个业务功能。 用Pycharm打开命令行界面(通过cmd打开也行,不过每次打开都要切换到当前项目路径下,很麻烦,所以最好直接用Pycharm的命令行界面直接打开),然后输入指令python manage.py startapp app名(通过manage.py来创建app)。 python manage.py startapp index 4.快速上手 4.1 确保注册app 在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容 3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上 4.2 URL和函数的映射 大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下: 找到urls.py中列表变量urlpatterns,添加一行path(‘’, ) 4.3 视图函数的撰写 4.3.1 render()使用 正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。 # 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
django-admin.exe startproject track_chart_web 比如我们创建项目名为track_chart_web的django项目,输入django-admin.exe startproject track_chart_web,即可看到自动生成的目录结构,此时django项目就创建成功了: 3.创建APP 这里的APP不是手机应用那个APP,而是一部分功能的意思。一个Django项目可能需要处理多个业务,我们将业务拆解,一部分一部分分开来管理代码会比较有条理,所以可以通过创建多个app来分别实现多个业务功能。 用Pycharm打开命令行界面(通过cmd打开也行,不过每次打开都要切换到当前项目路径下,很麻烦,所以最好直接用Pycharm的命令行界面直接打开),然后输入指令python manage.py startapp app名(通过manage.py来创建app)。 python manage.py startapp index 4.快速上手 4.1 确保注册app 在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容 3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上 4.2 URL和函数的映射 大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下: 找到urls.py中列表变量urlpatterns,添加一行path(‘’, ) 4.3 视图函数的撰写 4.3.1 render()使用 正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。 # 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
django-admin.exe startproject track_chart_web 比如我们创建项目名为track_chart_web的django项目,输入django-admin.exe startproject track_chart_web,即可看到自动生成的目录结构,此时django项目就创建成功了:
比如我们创建项目名为track_chart_web的django项目,输入django-admin.exe startproject track_chart_web,即可看到自动生成的目录结构,此时django项目就创建成功了:
3.创建APP 这里的APP不是手机应用那个APP,而是一部分功能的意思。一个Django项目可能需要处理多个业务,我们将业务拆解,一部分一部分分开来管理代码会比较有条理,所以可以通过创建多个app来分别实现多个业务功能。 用Pycharm打开命令行界面(通过cmd打开也行,不过每次打开都要切换到当前项目路径下,很麻烦,所以最好直接用Pycharm的命令行界面直接打开),然后输入指令python manage.py startapp app名(通过manage.py来创建app)。 python manage.py startapp index 4.快速上手 4.1 确保注册app 在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容 3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上 4.2 URL和函数的映射 大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下: 找到urls.py中列表变量urlpatterns,添加一行path(‘’, ) 4.3 视图函数的撰写 4.3.1 render()使用 正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。 # 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
这里的APP不是手机应用那个APP,而是一部分功能的意思。一个Django项目可能需要处理多个业务,我们将业务拆解,一部分一部分分开来管理代码会比较有条理,所以可以通过创建多个app来分别实现多个业务功能。
用Pycharm打开命令行界面(通过cmd打开也行,不过每次打开都要切换到当前项目路径下,很麻烦,所以最好直接用Pycharm的命令行界面直接打开),然后输入指令python manage.py startapp app名(通过manage.py来创建app)。
python manage.py startapp index 4.快速上手 4.1 确保注册app 在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容 3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上 4.2 URL和函数的映射 大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下: 找到urls.py中列表变量urlpatterns,添加一行path(‘’, ) 4.3 视图函数的撰写 4.3.1 render()使用 正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。 # 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
python manage.py startapp index
4.快速上手 4.1 确保注册app 在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容 3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上 4.2 URL和函数的映射 大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下: 找到urls.py中列表变量urlpatterns,添加一行path(‘’, ) 4.3 视图函数的撰写 4.3.1 render()使用 正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。 # 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
在前面3. 创建APP中,我们只是创建的app,但是这样还是不能正常跑起来app中的功能的,我们还得让Django知道,我们写了一个新app,这个声明的过程就是app的注册。此过程需要修改settings.py,过程如下: 1. 找到settings.py,在列表变量INSTALLED_APPS中,添加一个’ ',准备添加新app(我这里app名为index,大家不同app名需要相应的替换一些代码) 2. 我们打开新app目录,查看其apps.py内容
3. 我们需要调用这个类,所以用到我们导入模块的知识点通过.来找到相应文件中的类,所以在第一步写的’'中应该写上
大家使用网站时,在网站内的页面跳转都会改变URL,不同的URL就需要后台调用不同的功能给用户使用。所以每个URL都得有函数来执行相应的代码。此过程需要修改urls.py,过程如下:
找到urls.py中列表变量urlpatterns,添加一行path(‘’, )
正常应用中,网页都得是html那些文件,我们这现在还是就单纯返回字符串,太单调了。 那我们return后面就不用HttpResponse()了,而是用render()。render()的用法是这样。
# 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html") 4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
# 导入render,一般django默认 from django.shortcuts import render,HttpResponse def feedback(request): # 第一个位子是视图函数的request参数,第二个参数位是html文件路径 return render(request,"goods_list.html")
4.3.2 模板路径问题 一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。 4.3.3 静态文件static 开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。 4.3.4 html文件编写 例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码: <!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
一开始我们改过了settings.py中TEMPLATES字典的DIRS的值为空列表,所以默认的模板路径是当前app文件夹下的templates文件夹中的文件。所以我们在app下创建名为templates的文件夹(必须得为templates,不要拼写错误!),并在templates文件夹下创建html文件。 设置函数和URL对应关系,就可以测试是否可以正常渲染模板文件。
templates
开发过程中,像图片、css、js这些文件都称为静态文件,而这些静态文件,在django项目中也是必须放在规定文件夹中的,这个文件夹必须得叫static,和templates一样不能出现拼写错误。为了方便查找,static中,我们再分img、css、js、plugins来分类存放不同的东西。 我们可以把图片、视频等文件放到img文件夹下面。
img
例如:我想导入视频和图片,并对其简单排版和添加描述,有如下代码:
<!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。 4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
<!DOCTYPE html> <html lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; max-width: 1200px; margin: 0 auto; padding: 20px; .item { width: calc(25% - 20px); margin: 10px; box-sizing: border-box; .video-container, .image-container { position: relative; overflow: hidden; video, img { width: 100%; height: auto; object-fit: cover; .description { text-align: center; font-size: 16px; padding: 10px; background-color: rgba(0, 0, 0, 0.7); color: white; margin-top: 10px; </style> <title>视频与图片展示</title> </head> <div class="container"> <!-- 视频部分 --> <div class="item"> <div class="video-container"> <video width="320" height="240" controls> <source src="/static/img/4.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <div class="description">这是视频的描述</div> </div> </div> <!-- 图片部分 --> <div class="item"> <div class="image-container"> <img src="/static/img/1.png" alt="图片1描述"> <div class="description">图片1:这是第一张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/2.jpg" alt="图片2描述"> <div class="description">图片2:这是第二张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/3.jpg" alt="图片3描述"> <div class="description">图片3:这是第三张图片的详细描述。</div> </div> </div> <div class="item"> <div class="image-container"> <img src="/static/img/4.jpg" alt="图片4描述"> <div class="description">图片4:这是第四张图片的详细描述。</div> </div> </div> </div> </body> </html> 修改templates下面的html即可。
修改templates下面的html即可。
4.4 运行Django python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
python manage.py runserver http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
python manage.py runserver
http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。 四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
http://127.0.0.1:8000/feedback/ 浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。
浏览器输入http://127.0.0.1:8000/feedback/ 即可访问。
http://127.0.0.1:8000/feedback/
四、python实现URL转二维码 代码如下: import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
代码如下:
import qrcode if __name__ == '__main__': # 创建二维码对象 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, # 添加数据(这里是网址) url = 'https://www.baidu.com/' qr.add_data(url) qr.make(fit=True) # 保存为PNG文件 img = qr.make_image(fill='black', back_color='white') img.save('my_qrcode.png') 生成的二维码如下所示:
生成的二维码如下所示: