登陆和cookie 验证, 后台日志打印结果显示 set user正常,但是jinja2模板页面, __user__ 没法获取到值
Topic source装饰器
@get('/')
index = get('/)(index)
async def index(request): summary = '' blogs = [ Blog(id='1', name='Test Blog', summary=summary, createdat=time.time() - 120), Blog(id='2', name='Something New', summary=summary, createdat=time.time() - 3600), Blog(id='3', name='Learn Swift', summary=summary, createdat=time.time() - 7200) ] return { 'template': 'blogs.html', 'blogs': blogs, '_user': request.__user # 这里要返回去 }
登陆后没有显示头像和名字,是因为在base.html里面有个user参数,这个参数需要通过jinja2模板传进去,在handler.py 里面的主页handler函数里面改成这样就可以了
@get('/')
def index(request, *, page='1'):
page_index = get_page_index(page)
num = yield from Blog.findNumber('count(id)')
page = Page(num)
if num == 0:
blogs = []
else:
blogs = yield from Blog.findAll(orderBy='created_at desc', limit=(page.offset, page.limit))
return {
'__template__': 'blogs.html',
'page': page,
'blogs': blogs,
'__user__': request.__user__
}
这个问题我也遇到了。翻来覆去找问题,小结如下: 1、没有认真消化廖老师的讲义,尤其是没有结合课程代码的更新去消化; 2、用了新版本的Jquery和Vue,个别语法需要修改,尤其是$.post(),v-summit等; 3、可能是老师故意锻炼我们的,有些细节不要补充,例如四楼和五楼的答复,需要把user返回加进去; 4、数据库返回的user、blog等,是dict类型数据,没有.key属性,需要改成[key]; 5、数据库返回的元组,不能直接创建dict,需要变成list,再利用类的mappings创建dict。 感谢大家的讨论,让我学习路上少走弯路。
- 1
一雷叔一
登陆的时候后台显示正常, 包括使用的cookie 验证用户也正常, 后台日志打印结果显示设置 user正常,但是jinja2模板页面中, user 没法获取到值, 导致页面右上一直判断的是需要登陆状态...
菜鸟一个, 也不知道这是什么原因导致的...