![](/img/trans.png)
[英]Use WTForms with webapp and Django templates on Google App Engine
[英]WTForms extension for Django templates not working
我覺得我缺少真正明顯的東西。 我正在嘗試將WTForms模板擴展與Django一起使用。 我的開發服務器上有一個項目,該項目運行良好(IE擴展正常運行),但是當我將其放在測試服務器上時,它們突然壞了。 兩台服務器均安裝了相同版本的Python,Django,WTForms。 兩者的Settings.py相同,包括:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'wtforms.ext.django',
)
在模板中,我正在做:
{% load wtforms %}
{% autoescape off %}
<form id='returnform' action='{{form.action}}' method='POST' ENCTYPE="multipart/form-data">
並以實際形式將動作定義為:
class UserForm(wtforms.Form):
#Some fields and such here
def action(self):
return "/Admin/H/requests/"
因此,在開發服務器上,我的頁面加載了正確的'action = url',就像我期望的那樣。 但是在我的測試服務器上,它返回的頁面包含
'action=<bound method UserForm.action of <pulseman.admin.forms.UserForm object at 0x9c8598c>>'
對我在這里缺少什么有任何想法嗎? 謝謝。
我不確定這是什么原因,但是可以向您保證,它不是WTForms。 我們對這些類沒有做任何時髦的事情,因此,如果Django沒有正確調用動作,那么這就是Django中的東西。 您是否嘗試過重命名該功能,以查看它是否是名稱為“ action”的怪異問題?
或者,您可以嘗試使用@property裝飾器將動作轉換為屬性,或者只是將動作定義為類中的字符串。
話雖如此,我建議不要將URL嵌入python端的表單中。 最好通過將URL反向使用{%url%} templatetag來解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.