2013-03-28 2 views
0

У меня возникли трудности с пониманием того, как сделать макет сайта с тем же шаблоном на нескольких страницах (ПОЖАЛУЙСТА, не просто связывайте меня с «кулинарной книжкой макета сайта» на 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> 
+0

Привет, Лани, разработчик PythonAnywhere здесь. Эти инструкции вы следуете? http://webpy.org/cookbook/layout_template. Наиболее важной строкой является «render = web.template.render ('templates /', base = 'layout')'. Это говорит о том, чтобы создать объект рендеринга с базовым шаблоном под названием 'layout.html' – aychedee

+0

. Я также считаю, что ошибка, которую вы получаете, связана с тем, что объект pageinfo не имеет атрибута' title'. Но я не вижу ошибки в вашем коде, которая могла бы вызвать это. Если вы скажете мне свое имя пользователя PythonAnywhere, я, вероятно, смогу больше помочь. – aychedee

+0

На самом деле, я понял. Я все еще изучаю web.py, поэтому у меня не было полного понимания того, как построить макет. Спасибо за ваше предложение, хотя - мне нравится, что вы так быстро ответили! – 2013-03-29 16:28:39

ответ

0

Я был идиотом. Пожалуйста, закройте вопрос.

Что мне нужно было сделать, это перестроить код для визуализации отдельного шаблона, вместо повторного использования индекса, а затем установить элемент «base» в мой шаблон макета.

+0

Вы можете отредактировать свой исходный заголовок вопроса и добавить '[resolved]' к нему или принять этот ответ на свой собственный вопрос :)? Хорошая работа по разработке –