linux中vi无法为全局变量,django不能在基于类的vi中使用全局变量

在get和post之间不会维护视图实例的状态,因此在实例上设置record_files将不会为下一个请求保留它。您需要将该逻辑放入dispatch方法中,或者将信息存储在用户的session中。在class RecordView(View):

record_form = RecordForm

record_files = {}

templare = 'acquisition.html'

# dispatch is called before deciding whether to use get() or post()

# so any instance-level properties that require the request can go here.

# This could even go in __init__().

def dispatch(self, request, *args, **kwargs):

fil = urllib.urlopen('/home/student/wwww.jpg')

self.record_files = {'small_cover': SimpleUploadedFile('hehe.jpg', fil.read())}

return super(RecordView, self).dispatch(request, *args, **kwargs)

def get(self, request, *args, **kwargs):

rr_form = self.record_form()

return render(request, self.template_name, {'rr_form': rr_form,

})

# self.record_files will be available in a get, or a post (or any valid

# method for that matter).

def post(self, request, *args, **kwargs):

record = RecordForm(request.POST, self.record_files)

record.save()

return HttpResponseRedirect('/')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值