3.修改轮播图class,添加一个字段,用于存储记录
number 默认等于0
4.在视图文件里写处理视图,我这以轮播图为例:
from blog2018.up_qiniu import qiniu_up
def lunbotu_img(request): img_pk = request.GET.get('pk') u = Lunbotu.objects.get(pk=img_pk) u_img ="/usr/local/blog2018" + os.sep + u.index_img.url u_name = u.name qiniu_up(u_img, u_name) u.number += 1 u.save() return HttpResponse("成功!")
注意:u_img ="/usr/local/blog2018" + os.sep + u.index_img.url这个地址是我云服务的配置地址,如果是本地测试,要使用:
u_img ="."+u.img.url
5.建立好url
path('lunbotu/', views.lunbotu_img,name='qiniu_up_lunbotu'),#
6.在admin里:
@admin.register(Lunbotu) class LunbotuAdmin(admin.ModelAdmin): list_display = ('id','index_img','name',"get_id") # 添加个自定义的列表按钮 def get_id(self, obj): # 这里的obj就是这个模型的一条数据对象,如果你有10条数据,这个方法就要执行10次 get_pk = int(obj.pk) # 获取这个队列的pk mm = int(obj.number) #mark_safe 信任html代码 if mm == 0: return mark_safe("""<a href="/lunbotu/?pk=%s">点我上传</a>""" % get_pk) else: return mark_safe("""<p>上传成功 </p> """) get_id.short_description = "同步数据到七牛云" get_id.allow_tags = True # 允F许这个函数return返回的时候支持html
7.前端使用:
<img src="http://2018.hui2017.top/{{ index_lunbotus.last.name }}"
结束。再次感谢wanwan
1
登陆后方可评论