Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
3 Antworten
21255 Ansichten

I want to get Httprequest then get the client ip, but use below code in my module have a error. pls help, thanks very much

import openerp.addons.web.http as openerpweb
@openerpweb.jsonrequest
def get_ip_address(self, req):
    wsgienv = req.httprequest.environ
    env = dict(
         HTTP_HOST=wsgienv['HTTP_HOST'],
         REMOTE_ADDR=wsgienv['REMOTE_ADDR'],
     )
    _logger.log("env:%d", env)
    return True

Get Error:AttributeError: 'list' object has no attribute 'httprequest'

Avatar
Verwerfen
Beste Antwort

It looks like you call jsonrequest once and httprequest another time. I was able to install this code:
Note: I modified the 2nd line.

import openerp.addons.web.http as openerpweb
@openerpweb.httprequest
def get_ip_address(self, req):
    wsgienv = req.httprequest.environ
    env = dict(
               HTTP_HOST=wsgienv['HTTP_HOST'],
               REMOTE_ADDR=wsgienv['REMOTE_ADDR'],
               )
    #_logger.log("eng:%d",env)
    return True

I didn't import logger.
What URL are you calling to access your function?

Avatar
Verwerfen
Beste Antwort

sorry for asking question here.  i am not able create object of http request in my own module.

xml:

    <record id="lead_sample" model="ir.ui.view">
        <field name="name">Clients</field>
        <field name="model">document.download</field>
        <field name="arch" type="xml">
            <form string="lead">
                <field name="name"/>
                <button type="action" name="download" string="Downloads" class="oe_button oe_highlight"/>
            </form>
        </field>
    </record>

python:

@openerpweb.httprequest
 def download(self, cr, uid, req, token):       
        return req.make_response(open('/home/cryosave_qrcodes/091_14_00336.png').read,
           [('Content-Type', 'application/octet-stream; charset=binary'),
           ('Content-Disposition', content_disposition('filename.png', req))],
           {'fileToken': token}
        )

I have created this code but i don't know how to create http reqest object in my module

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
0
Aug. 22
2382
1
März 15
3874
0
März 23
2005
4
Feb. 23
43076
1
Juni 22
5270