我试图找出访问数据库中Assessment
类(表)中所有匹配的microseries
的最佳方法。我试图创建一个链接,将用户发送到那些匹配的microseries
。我是新来的,想更好地了解前端工程的螺母和螺栓。我也没有看到类似的问题问这里的堆栈
我还没有使用JSON或XML,所以这是一个静态的HTML过程。我目前有一些途径可以访问评估,例如:
config.add_route('assessments', '/assessments')
config.add_route('assessment', '/assessments/{id:\d+}')
在实现在Assessment
表中查找匹配的microseries
并将用户发送到具有这些匹配序列的新页面的方法时,我希望更好地理解的是:
routes
是如何工作的,尤其是在访问类的属性时,例如Assessment.microseries
View
代码的目标是传达上述方法。
Pyramid links和Pyramid on Routes和URL Dispatch
使用:Python2.7、SQLAlchemy、Pyramid
评估表:
class Assessment(Base):
__tablename__ = 'assessments'
id = Column(Integer, primary_key=True)
name = Column(String(50), unique=True)
text = Column(String(2000))
microseries = Column(Integer)
# more code
def __init__(self, name, text, user, video, categories, microseries):
# more code
与评估交互的API基于CRUD—创建、检索、更新和删除
视图代码:
这并不是我需要它做的,因为我没有一种形式的链接将用户发送到匹配的序列,例如,Link1会将用户发送到一个新视图,该视图包含了Link1的所有子序列GET
:1a、1b、1c….
@view_config(route_name='assessments', request_method='GET', renderer='templates/unique_assessments.jinja2', permission='create')
def view_unique_microseries_group(request):
logged_in_userid = authenticated_userid(request)
if logged_in_userid is None:
raise HTTPForbidden()
all_assessments = api.retrieve_assessments() #all assessments in a list
assessments_by_microseries = {} #dictonary
for x in all_assessments:
if x.microseries in assessments_by_microseries:
print("Already seen this microseries: %s" % x.microseries)
else:
assessments_by_microseries[x.microseries] = x
unique_assessments = sorted(assessments_by_microseries.values()) #.values() method to get the, err, values of the dict.
print 'unique_assessments:', unique_assessments
#a = HTTPSeeOther(location=request.route_url('view_microseries'))
return {'logged_in': logged_in_userid, 'unique_assessments': unique_assessments} #need to send some kind of list that can be shown on the template to send a user to the appropriately matching set of microseries
目前没有回答
相关问题 更多 >
编程相关推荐