У меня возникли трудности с пониманием того, как сделать макет сайта с тем же шаблоном на нескольких страницах (ПОЖАЛУЙСТА, не просто связывайте меня с «кулинарной книжкой макета сайта» на Web.Py page. Он использует только шаблон на одной странице, который я могу сделать уже).Тот же шаблон на нескольких страницах в web.py
Мой код ниже, и это имеет смысл для меня, но я хотел бы знать, что я делаю неправильно. Я новичок в этом, поэтому я уверен, что делаю что-то исключительно глупое.
Ошибка я получаю:
<type 'exceptions.AttributeError'> at /vip
'title'
main.py
#coding=utf-8
import web
urls = (
'/', 'index',
'/vip', 'vip'
)
render = web.template.render('templates')
class pagedata:
def __init__(self, title, description, downloadlink):
self.title = title
self.description = description
self.downloadlink = downloadlink
class index:
def GET(self):
pageinfo = pagedata("Demo", "Demo description", "http://www.google.com")
return render.index(pageinfo)
class vip:
def GET(self):
pageinfo = pagedata("Demo2", "Demo description2", "http://www.yahoo.com")
return render.index(pageinfo)
app = web.application(urls, globals())
application = app.wsgifunc()
шаблоны/index.html
$def with (pageinfo)
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<title>$pageinfo.title</title>
<link rel="stylesheet" href="default.css" />
</head>
<body>
<p>$pageinfo.description</p>
<p><a href="$pageinfo.downloadlink">$pageinfo.downloadlink</a></p>
</body>
</html>
Привет, Лани, разработчик PythonAnywhere здесь. Эти инструкции вы следуете? http://webpy.org/cookbook/layout_template. Наиболее важной строкой является «render = web.template.render ('templates /', base = 'layout')'. Это говорит о том, чтобы создать объект рендеринга с базовым шаблоном под названием 'layout.html' – aychedee
. Я также считаю, что ошибка, которую вы получаете, связана с тем, что объект pageinfo не имеет атрибута' title'. Но я не вижу ошибки в вашем коде, которая могла бы вызвать это. Если вы скажете мне свое имя пользователя PythonAnywhere, я, вероятно, смогу больше помочь. – aychedee
На самом деле, я понял. Я все еще изучаю web.py, поэтому у меня не было полного понимания того, как построить макет. Спасибо за ваше предложение, хотя - мне нравится, что вы так быстро ответили! – 2013-03-29 16:28:39