Odooers论坛

欢迎!

该社区面向专业人士和我们产品和服务的爱好者。
分享和讨论最好的内容和新的营销理念,建立您的专业形象,一起成为更好的营销人员。


0

how to create and download a text file

形象
odoo
形象
丢弃
1 答案
0
形象
odoo
最佳答案

Hi Cristian,

=> If you want to create directly your text file, you can do that:


with open("My file.txt", "w") as file:
    file.write("Your text goes here")
 
=> If you want to download your file by a button:

You have to add this fileds in your model "model_name":
your_file = fields.Binary("My file")
Then use this script:
import base64
data = "Your text goes here"
self.your_file = base64.b64encode(data.encode())

return {
'type': 'ir.actions.act_url',
'url': '/web/content/model_name/%s/your_file/%s?download=true' % (
self.id, "My file.txt"),
}


Best regards,

Imal-Tech


4 注释
形象
丢弃
形象
odoo
-

Thank you, it's finally clear, I've the last doubt, It gives me this error "module_name has no attribute your_file", how could I solve it?

形象
odoo
-

The model name (2) is the one on which you're working like product.product. Now, you have to add the field in your model on which you're working, this one: your_file = fields.Binary("My file").
Precisely, you've to to put your file on your model name, and the custom_model on the function name (1).

Check the attached image on the main response above, and you'll get each part with its matched code.

If it works, don't hesitate to validate the response, thanks!

形象
odoo
-

okay, now it's working, but when I click the button it returns a 404 Error, the URL is not found

形象
odoo
-

Cristian, you've to modify:

'url': '/web/content/model_name/%s/custom_model/%s?download=true' % (
to:
'url': '/web/content/model_name/%s/your_file/%s?download=true' % (