Тип web2py 'exceptions.AttributeError'
view
#show.html
{{extend 'layout.html'}}
<h1>{{=page.title}}</h1>
[ {{=A('edit', _href=URL('edit', args=request.args))}} ]<br />
{{=MARKMIN(page.body)}}
<h2>Comments</h2>
{{for post in comments:}}
<p>{{=db.auth_user[post.created_by].first_name}} on {{=post.created_on}}
says <i>{{=post.body}}</i></p>
{{pass}}
<h2>Post a comment</h2>
{{=form}}
#controller
#default.py
def user():
return dict(form=auth())
@auth.requires_login()
def index():
pages = db().select(db.course.id,db.course.title,db.course.Instructor,orderby=db.course.title)
return dict(pages=pages)
@auth.requires_login()
def createcourse():
"""creates a new empty wiki page"""
form = SQLFORM(db.course).process(next=URL('index'))
return dict(form=form)
def show():
"""shows a wiki page"""
this_page = db.course(request.args(0,cast=int)) or redirect(URL('index'))
db.post.course_id.default = this_page.id
form = SQLFORM(db.post).process() if auth.user else None
pagecomments = db(db.post.course_id==this_page.id).select()
return dict(page=this_page, comments=pagecomments, form=form)
#model
#db.py
db = DAL("sqlite://storage.sqlite")
from gluon.tools import Auth
auth = Auth(db)
auth.define_tables(username=True)
db.define_table('course',
Field('title', unique=True),
Field('Instructor','text', unique=True),
Field('Dateofcoursecreation','datetime'),
Field('Courseid'),
format = '%(title)s')
db.define_table('post',
Field('course_id'),
Field('body', 'text'),
Field('created_on', 'datetime', default=request.now),
Field('created_by', 'reference auth_user', default=auth.user_id))
#ticket issued
Error ticket for "courseapp"
Ticket ID
127.0.0.1.2016-03-16.20-55-17.d72cc1b2-28ab-4aea-be40-a372034830a5
<type 'exceptions.AttributeError'>
Version
web2py™ Version 2.13.4-stable+timestamp.2015.12.26.04.59.39
Python Python 2.7.6: /usr/bin/python (prefix: /usr)
Traceback
1.
2.
3.
4.
5.
6.
7.
8.
Traceback (most recent call last):
File "/home/nikhil/Downloads/web2py/gluon/restricted.py", line 227, in restricted
exec ccode in environment
File "/home/nikhil/Downloads/web2py/applications/courseapp/views/default/show.html", line 79, in <module>
File "/home/nikhil/Downloads/web2py/gluon/packages/dal/pydal/objects.py", line 90, in __getattr__
raise AttributeError
AttributeError
Error snapshot help
<type 'exceptions.AttributeError'>()
inspect attributes
Frames
File /home/nikhil/Downloads/web2py/gluon/restricted.py in restricted at line 227 code arguments variables
File /home/nikhil/Downloads/web2py/applications/courseapp/views/default/show.html in <module> at line 79 code arguments variables
File /home/nikhil/Downloads/web2py/gluon/packages/dal/pydal/objects.py in __getattr__ at line 90 code arguments variables
Function argument list
(self=<Row {'title': 'maths', 'Dateofcoursecreation': ... 'Instructor': 'indranil chakrabarty', 'id': 1L}>, k='body')
Code listing
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
def __getattr__(self, k):
try:
return self.__getitem__(k)
except KeyError:
raise AttributeError
def __copy__(self):
return Row(self)
Variables
builtinAttributeError <type 'exceptions.AttributeError'>
Пожалуйста, кто-нибудь может сказать, где ошибка?
1 ответ
{{=MARKMIN(page.body)}}
относится к атрибуту под названием body
, которого нет на столе: course
, Это причина, по которой вы видите ошибку.