所以我想叫func到html。但是当我单击按钮时,它会出现错误消息。我想要的是,我可以将字节保存为字符串,并将其保存到文件文本中。F包含b'5&\xd7\x8c',这是加密的结果
FileView.get()缺少一个必需的位置参数:'request‘
我不知道出了什么问题,谁能帮我查一下吗?
def create_file(f):
with open("file.txt", 'w') as file:
return file.write(str(f))
class FileView(View):
def get(f, self, request, *args, **kwargs):
return HttpResponse(f, content_type='text/plain', headers={'Content-Disposition': 'attachment; filename=file.txt'})
def homepage(request):
form = AudioForm()
if request.method == "POST":
form = AudioForm(request.POST, request.FILES)
if form.is_valid():
form.save()
last_audio = Audio_store.objects.all().last()
plaintext = Audio_store.objects.all().values_list('password').last()
key = Audio_store.objects.all().values_list('key').last()
pt = plaintext[0]
ky = key[0]
print(pt)
print(ky)
context={'form':form, 'last_audio':last_audio}
enc = encrypt(ky, pt)
print(enc)
download = create_file(enc)
print(download)
return render(request, "homepage.html", context)
context={'form':form}
return render(request, "homepage.html", context=context)以网址表示:
path("", views.homepage, name="homepage"), # to call homepage
path("", views.encrypt, name="homepage"),
path("create_file", views.FileView.as_view(), name="create_file"),在html中调用:
<a href="{% url 'create_file' %}">
Download
</a>发布于 2022-09-05 06:02:49
以下是错误的;请查看python类。
class FileView(View):
def get(f, self, request, *args, **kwargs):
return HttpResponse(f, content_type='text/plain', headers={'Content-Disposition': 'attachment; filename=file.txt'})第一个参数必须始终是self。->
class FileView(View):
def get(self, *args, **kwargs):
# Request is not needed in the arguments. Access it with:
self.request
# Generate the file here.
# Where did you expect it to appear from?
return HttpResponse(f, content_type='text/plain', headers={'Content-Disposition': 'attachment; filename=file.txt'})https://docs.python.org/3/tutorial/classes.html#class-and-instance-variables
https://stackoverflow.com/questions/73604102
复制相似问题