簡體   English   中英

Django模板的WTForms擴展不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM