首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FileView.get()缺少一个必需的位置参数:'request‘- class FileView

FileView.get()缺少一个必需的位置参数:'request‘- class FileView
EN

Stack Overflow用户
提问于 2022-09-05 02:42:14
回答 1查看 93关注 0票数 0

所以我想叫func到html。但是当我单击按钮时,它会出现错误消息。我想要的是,我可以将字节保存为字符串,并将其保存到文件文本中。F包含b'5&\xd7\x8c',这是加密的结果

FileView.get()缺少一个必需的位置参数:'request‘

我不知道出了什么问题,谁能帮我查一下吗?

代码语言:javascript
复制
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)

以网址表示:

代码语言:javascript
复制
path("", views.homepage, name="homepage"), # to call homepage
path("", views.encrypt, name="homepage"),
path("create_file", views.FileView.as_view(), name="create_file"),

在html中调用:

代码语言:javascript
复制
<a href="{% url 'create_file' %}">
                                            Download
                                        </a>
EN

回答 1

Stack Overflow用户

发布于 2022-09-05 06:02:49

以下是错误的;请查看python类。

代码语言:javascript
复制
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。->

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73604102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档