同学们,大家好,我们通过本周的学习 ,已经可以使用django框架搭建一个简单的相册的增删改查了,那么下面就给同学们看看本周的优秀案例,希望没有上榜的同学下次再接再厉,继续加油!!!
1.Python11期学员 齐琦
亮点:
1.实现了相册分页的功能
2.实现了增删改查的功能
3.代码整洁美观,注释清晰
主页
展示页
发布功能
插入图片功能
修改鲜花为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
如有疑问,联系935049620@qq.com删除
报名学习CSDN学院咨询