使用Django框架完成一个《在线相册信息管理》
使用Django框架完成一个《在线相册信息管理》,要求实现在线相册信息的增、删、改、查等操作,要求使用到的技术有:Django框架、MySQL数据存储、文件上传、图片缩放、数据分页,并提交数据库

参考老师的课堂实例,首先实现数据的增、删、改和查操作,然后再考虑带图片上传的处理。
注意:相册中上传的图片不写入数据库,只要将上传的图片名信息写入表中即可
优秀作业展示效果图

主页
第四周优秀作业展示

展示页
第四周优秀作业展示
发布功能
第四周优秀作业展示

第四周优秀作业展示
插入图片功能
第四周优秀作业展示
修改鲜花为sweety成功第四周优秀作业展示
删除功能成功
第四周优秀作业展示
删除成功第四周优秀作业展示
代码展示
第四周优秀作业展示
模型部分第四周优秀作业展示
页内路由第四周优秀作业展示
Views视图代码

from django.shortcuts import render
from django.http import HttpResponse
from myapp.models import Users
import time,os
from PIL import Image
from django.core.paginator import Paginator
# Create your views here.

def index(request):
	'''首页'''
	return render(request,"myapp/index.html")

def indexUsers(request,pIndex):
	#获取用户信息
	list = Users.objects.all()
	#封装信息
	p = Paginator(list, 4)
	if pIndex == "":
		pIndex="1"
	pIndex = int(pIndex)
	list2 = p.page(pIndex)
	plist = p.page_range
	context = {"ulist":list2,"plist":plist,"pIndex":pIndex}

	return render(request,"myapp/users/index.html",context)

def addUsers(request):
	'''加载添加表单'''
	return render(request,"myapp/users/add.html")

def insertUsers(request):
	'''执行photo信息添加'''
	#获取并封装用户信息
	try:
		myfile = request.FILES.get("mypic",None)
		if not myfile:
			return HttpResponse("没有上传文件信息")
		filename = str(time.time())+'.'+myfile.name.split('.').pop()
		destination = open("./static/pics/"+filename,"wb+")
		for chunk in myfile.chunks():
			destination.write(chunk)
		im = Image.open("./static/pics/"+filename)
		im.thumbnail((75,75))
		im.save("./static/pics/s_"+filename,None)
		destination.close()
		user = Users()
		user.name = request.POST['name']
		user.filename = filename
		user.filenamesmall = "s_"+filename
		user.save()
		context = {"info":"添加photo成功!Add photo successfully!"}


	except:
		context = {"info":"添加photo失败!Failed to add photo !"}

	return render(request,"myapp/users/info.html",context)


def delUsers(request,uid):
	'''删除图片方法'''
	try:
		ob = Users.objects.get(id=uid)
		filename = ob.filename
		filenamesmall = ob.filenamesmall
		os.remove("./static/pics/"+filename)
		os.remove("./static/pics/"+filenamesmall)
		ob.delete()
		context = {"info":"删除成功!Delete successful !"}

	except:
		context = {"info":"删除失败!Delete failed ! "}

	return render(request,"myapp/users/info.html",context)

def editUsers(request,uid):
	'''编辑图片方法'''
	try:
		ob = Users.objects.get(id=uid)
		context = {"user":ob}
		return render(request,"myapp/users/edit.html",context)

	except:
		return render(request,"myapp/users/info.html")

def updateUsers(request):
	'''执行编辑图片方法'''
	#做错误抛出处理
	try:
		myfile = request.FILES.get("mypic",None)
		if not myfile:
			return HttpResponse("没有上传文件信息No file information uploaded")
		filename = str(time.time())+'.'+myfile.name.split('.').pop()
		destination = open("./static/pics/"+filename,"wb+")
		for chunk in myfile.chunks():
			destination.write(chunk)
		im = Image.open("./static/pics/"+filename)
		im.thumbnail((75,75))
		im.save("./static/pics/s_"+filename,None)
		destination.close()
		user = Users.objects.get(id=request.POST['id'])
		user.name = request.POST['name']
		filename_old = user.filename
		filenamesmall_old = user.filenamesmall
		user.filename = filename
		user.filenamesmall = "s_"+filename
		user.save()
		os.remove("./static/pics/"+filename_old)
		os.remove("./static/pics/"+filenamesmall_old)
		context = {"info":"编辑成功!Editorial success!"}

	except:
		context = {"info":"编辑失败!Editor failure!"}

	return render(request,"myapp/users/info.html",context)

第四周优秀作业展示第四周优秀作业展示
第四周优秀作业展示
第四周优秀作业展示

<!DOCTYPE html>
<html>
<head>
	<title>Albums information</title>
	
	<script type="text/javascript">
		function doDel(url){
			if (confirm("确定要删除吗?Are you sure you want to delete it? ")) {
				window.location=url
			}
		}
	</script>
</head>
<body>
	<center>
		{% include "myapp/users/menu.html"%}
		<h3>Browse albums information</h3>
			<table width="800" border="1">
				<tr>
					<th>ID number</th>
					<th>Title</th>
					<th>Picture</th>
					<th>Time</th>
					<th>Operation</th>
				</tr>
				{% for user in ulist %}
					<tr>
						<td>{{user.id}}</td>
						<td>{{user.name}}</td>
						<td><img src="./static/pics/{{user.filenamesmall}}"></td>
						<td>{{user.addtime|date:"Y-m-d H:i:s"}}</td>
						<td>
							<a href="{% url 'editusers' user.id%}">edit</a>
							<a href="javascript:doDel('{% url 'delusers' user.id %}')">delete</a>
						</td>
					</tr>
				{% endfor%}
			</table>

			{% for i in plist %}
				{% if i == pIndex %}
					{{i}}
				{% else %}
					<a href="{% url 'users' i %}">{{i}}</a>
				{% endif %}
			{% endfor %}
	</center>

</body>
</html>

第四周优秀作业展示第四周优秀作业展示
原作者出自CSDN学生齐琦,本文内容来自码云中国,作者链接
https://gitee.com/MFQTDA/CSDNXueYuanpythonQuanZhanGongChengShiXueXiDaiMaShiXun2.git

如有疑问,联系[email protected]删除
报名学习CSDN学院咨询
第四周优秀作业展示

相关文章:

  • 2021-05-30
  • 2021-06-14
  • 2022-12-23
  • 2021-05-03
  • 2021-11-22
  • 2021-05-09
  • 2021-10-08
  • 2021-05-03
猜你喜欢
  • 2021-12-21
  • 2021-08-30
  • 2021-10-21
  • 2021-11-09
  • 2021-12-03
  • 2021-05-11
  • 2021-04-29
相关资源
相似解决方案