Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2010 04:44:43

nam1
От:
Зарегистрирован: 2010-12-04
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'module' object has no attribute 'form'

Доброго времени суток!
Только осваиваю 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

Помогите, пожалуйста.



Отредактировано (Дек. 4, 2010 04:52:01)

Офлайн

#2 Дек. 4, 2010 04:46:41

nam1
От:
Зарегистрирован: 2010-12-04
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'module' object has no attribute 'form'

Забыл контроллер, тоже все примитивно.

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']



Офлайн

#3 Дек. 4, 2010 12:11:38

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'module' object has no attribute 'form'

Вопрос - а Вы этот код

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

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



Отредактировано (Дек. 4, 2010 12:33:35)

Офлайн

#4 Дек. 4, 2010 14:50:56

nam1
От:
Зарегистрирован: 2010-12-04
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'module' object has no attribute 'form'

Я не знал, что они прекращают работу, вроде , только новая версия вышла. Да и отзывы неплохие. Спасибо за совет.

Да Вы правы вписал я их в контроллер, я думал , там все подключается. Правда теперь выдает

AttributeError: 'module' object has no attribute 'url_for'
Пробовал включить from routes import url_for в контроллере , нет реакции. Что еще надо подключить?



Офлайн

#5 Дек. 4, 2010 15:39:59

nam1
От:
Зарегистрирован: 2010-12-04
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'module' object has no attribute 'form'

Если подключить в файл “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'
Что это? И что в этом случае не хватает?



Офлайн

#6 Дек. 4, 2010 17:07:07

nam1
От:
Зарегистрирован: 2010-12-04
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'module' object has no attribute 'form'

Нашел я ответ…
файл “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, за ответ.
Тема закрыта



Офлайн

#7 Дек. 4, 2010 18:46:48

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'module' object has no attribute 'form'

Всегда пожалуйста



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version