前言
呀,上个月竟然忘记写东西了,这个月可不能再忘了,哈哈哈。今天这篇主要是讲一下初识Django,以及使用过程中遇到的问题。
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是Django
Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。
Django 是一个开放源代码的 Web 应用框架,由 Python 写成。
二、使用步骤
1.在Pycharm安装Django环境
2.创建项目和APP
在Pycharm的Terminal中输入
django-admin startproject my_project
3.创建template和static目录
3.1.在my_project目录下创建template和static目录,用于存放模板文件以及静态文件
3.2.找到my_project目录下的setting.py文件
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'my_app', # 添加自己的APP的名称
]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')] # 增加该行,添加template路径
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
4.正式编写内容
4.1.使用temp创建临时目录
s = io.BytesIO()
# 创建一个临时文件夹用来保存下载的文件
temp = tempfile.TemporaryDirectory()
# 使用BytesIO生成压缩文件
down_file = zipfile.ZipFile(s, 'w')
for u in urls:
f_name = "{}".format(u['name'])
local_path = os.path.join(temp.name, f_name)
# 下载文件
# urlretrieve(u['down_url'], local_path)
# 复制文件到临时路径中
# 把下载文件的写入压缩文件
down_file.write(local_path, f_name)
# 关闭文件
down_file.close()
# 指针回到初始位置,没有这一句前端得到的zip文件会损坏
s.seek(0)
4.2.使用urlretrieve下载连接
urlretrieve(url, filename=None, reporthook=None, data=None)
参数url:下载链接地址
参数filename:指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
参数reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
参数data:指post导服务器的数据,该方法返回一个包含两个元素的(filename, headers) 元组,filename 表示保存到本地的路径,header表示服务器的响应头
4.3Django的几种返回方式
from django.shortcuts import render, redirect, HttpResponse
# return HttpResponse("字符串")
# return render(request, "HTML模板的路径")
# return redirect('/只能填URL')
5.创建前端页面
大家可以在网上找一下表单生成工具,非常好用,只要稍稍调整就可以使用啦
6.运行
python3 manage.py runserver
总结
以上就是今天要记录的内容啦,内容不是很多,一方面为了记录自己的学习记录,另一方面如果能给其他人带来帮助就更好啦,哈哈哈,拜拜,下个月再来啦。