Найти - Пользователи
Полная версия: Ошибка AttributeError: 'module' object has no attribute 'form'
Начало » Pyramid / Pylons / TurboGears » Ошибка AttributeError: 'module' object has no attribute 'form'
1
nam1
Доброго времени суток!
Только осваиваю Pylons и не могу понять, где спотыкаюсь.
Делаю простейший пример формы, должно все работать, вроде.
Посмотрел в документации и в книге, но там все просто… Говорится, что нужно подключить
from webhelpers.html import escape, HTML, literal, url_escape 
from webhelpers.html.tags import *
и все будет работать , но у меня выдает
AttributeError: 'module' object has no attribute 'form'
1 <%inherit file="/base.html" />
2
3 <h1>Enter Your E-mail Address</h1>
4
5 ${h.form(h.url_for(controller='formtest', action='submit'), method='get')}
6 Email Address: ${h.text('email')}
7 ${h.submit('submit', 'Submit')}
8 ${h.end_form()}
9
Python 2.6, Pylons 1.0, запускаю через paster serve –reload development.ini и соответственно http://localhost:5000/formtest/form

Помогите, пожалуйста.
nam1
Забыл контроллер, тоже все примитивно.
import logging

from pylons import request, response, session, tmpl_context as c, url
from pylons.controllers.util import abort, redirect
from formdemo.lib.base import BaseController, render

from webhelpers.html import escape, HTML, literal, url_escape
from webhelpers.html.tags import *


log = logging.getLogger(__name__)

class FormtestController(BaseController):

def index(self):
return 'Hello World'
def form(self):
return render('/simpleform.html')
def submit(self):
return 'Your email is: %s' % request.params['email']
ziro
Вопрос - а Вы этот код

from webhelpers.html import escape, HTML, literal, url_escape 
from webhelpers.html.tags import *
точно вписали в файл “project/lib/helpers.py” - именно он выступает в шаблонах как h, не контроллер.

Да кстати, если Вы планируете разрабатывать новый проект, то возможно Вам имеет смысл посмотреть в сторону Pyramid, так как Pylons Framework в дальнейшем развиваться не будет - только устранение багов предполагается.
nam1
Я не знал, что они прекращают работу, вроде , только новая версия вышла. Да и отзывы неплохие. Спасибо за совет.

Да Вы правы вписал я их в контроллер, я думал , там все подключается. Правда теперь выдает
AttributeError: 'module' object has no attribute 'url_for'
Пробовал включить from routes import url_for в контроллере , нет реакции. Что еще надо подключить?
nam1
Если подключить в файл “project/lib/helpers.py”

from routes import url_for
from webhelpers.html import escape, HTML, literal, url_escape
from webhelpers.html.tags import *
то выдает еще одну ошибку
AttributeError: 'thread._local' object has no attribute 'mapper'
Что это? И что в этом случае не хватает?
nam1
Нашел я ответ…
файл “project/lib/helpers.py”
from pylons import url
from webhelpers.html import escape, HTML, literal, url_escape
from webhelpers.html.tags import *
шаблон
${h.form(h.url(controller='formtest', action='submit'), method='get')}
Email Address: ${h.text('email')}
${h.submit('submit', 'Submit')}
${h.end_form()}
и все работает. Не увидел, что url_for устарел.
Спасибо большое , ziro, за ответ.
Тема закрыта
ziro
Всегда пожалуйста
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB