Python demo.xml中出现奇怪的分析错误
我正在学习官方的odoo-9构建模块的教程。在本节之后,我将以下代码放入Python demo.xml中出现奇怪的分析错误,python,openerp,odoo-9,Python,Openerp,Odoo 9,我正在学习官方的odoo-9构建模块的教程。在本节之后,我将以下代码放入openacademy/demo/demo.xml: <openerp> <data> <record model="openacademy.course" id="course0"> <field name="name">Course 0</field> <field name="des
openacademy/demo/demo.xml
:
<openerp>
<data>
<record model="openacademy.course" id="course0">
<field name="name">Course 0</field>
<field name="description">Course 0's description
Can have multiple lines
</field>
</record>
<record model="openacademy.course" id="course1">
<field name="name">Course 1</field>
<!-- no description for this one -->
</record>
<record model="openacademy.course" id="course2">
<field name="name">Course 2</field>
<field name="description">Course 2's description</field>
</record>
</data>
</openerp>
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.actions.act_window" id="course_list_action">
<field name="name">Courses</field>
<field name="res_model">openacademy.course</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create the first course</p>
</field>
</record>
<menuitem id="main_openacademy_menu" name="Open Academy"/>
<menuitem id="openacademy_menu" name="Open Academy" parent="main_openacademy_menu"/>
<menuitem id="courses_menu" name="Courses" parent="openacademy_menu"
action="course_list_action"/>
</data>
</openerp>
课程0
课程0的说明
可以有多行
课程1
课程2
课程2的描述
但是,当我尝试安装模块时,我会遇到以下错误:
...
File "D:\odoo-dev\odoo-9.0\openerp\tools\convert.py", line 630, in _tag_record
model = self.pool[rec_model]
File "D:\odoo-dev\odoo-9.0\openerp\modules\registry.py", line 84, in __getitem__
return self.models[model_name]
ParseError: "openacademy.course" while parsing file:///D:/odoo-dev/odoo-addons/openacademy/demo/demo.xml:3, near
<record model="openacademy.course" id="course0">
<field name="name">Course 0</field>
<field name="description">Course 0's description
Can have multiple lines
</field>
</record>
。。。
文件“D:\odoo dev\odoo-9.0\openerp\tools\convert.py”,第630行,在标记记录中
model=self.pool[rec_model]
文件“D:\odoo dev\odoo-9.0\openerp\modules\registry.py”,第84行,在\uu getitem中__
返回self.models[模型名称]
解析时发生ParseError:“openacademy.course”file:///D:/odoo-dev/odoo addons/openacademy/demo/demo.xml:3,靠近
课程0
课程0的说明
可以有多行
更新
我从xml文件中完全删除了撇号。但我还是犯了同样的错误
<openerp>
<data>
<record model="openacademy.course" id="course0">
<field name="name">Course 0</field>
<field name="description">Course 0 description Can have multiple lines
</field>
</record>
<record model="openacademy.course" id="course1">
<field name="name">Course 1</field>
<field name="description">Description 2</field>
</record>
<record model="openacademy.course" id="course2">
<field name="name">Course 2</field>
<field name="description">Course 2 description</field>
</record>
</data>
</openerp>
课程0
课程0说明可以有多行
课程1
说明2
课程2
课程2说明
错误:
...
ParseError: "openacademy.course" while parsing file:///D:/odoo-dev/odoo-addons/openacademy/demo/demo.xml:3, near
<record model="openacademy.course" id="course0">
<field name="name">Course 0</field>
<field name="description">Course 0 description Can have multiple lines
</field>
</record>
。。。
解析时发生ParseError:“openacademy.course”file:///D:/odoo-dev/odoo addons/openacademy/demo/demo.xml:3,靠近
课程0
课程0说明可以有多行
有几个字符不能在XML文本中使用。”
撇号就是其中之一
而是使用转义值,例如&apos代码>或'代码>
您可以在上找到有关此问题的更多信息。我解决了它。我已经使用脚手架工具生成了我的模块结构,如官方文档中所述。脚手架工具生成以下结构:
odoo-addons/
|_ openacademy/
|_controllers/
|_demo/
|_models/
| |_ models.py
|
|_security/
|_views/
|_ __init__.py
|_ __openerp__.py
在\uuuu init\uuuuu.py
中,我按照文档中的描述放置了以下内容:
from . import controllers
from . import models
在demo.xml
中:
<openerp>
<data>
<record model="openacademy.course" id="course0">
<field name="name">Course 0</field>
<field name="description">Course 0's description
Can have multiple lines
</field>
</record>
<record model="openacademy.course" id="course1">
<field name="name">Course 1</field>
<!-- no description for this one -->
</record>
<record model="openacademy.course" id="course2">
<field name="name">Course 2</field>
<field name="description">Course 2's description</field>
</record>
</data>
</openerp>
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.actions.act_window" id="course_list_action">
<field name="name">Courses</field>
<field name="res_model">openacademy.course</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create the first course</p>
</field>
</record>
<menuitem id="main_openacademy_menu" name="Open Academy"/>
<menuitem id="openacademy_menu" name="Open Academy" parent="main_openacademy_menu"/>
<menuitem id="courses_menu" name="Courses" parent="openacademy_menu"
action="course_list_action"/>
</data>
</openerp>
谢谢你的回答。在我更新的问题中,我完全删除了撇号,但仍然得到相同的错误。您好,您能提供.py文件和openerp文件吗?