0

想象一个用 Django 编写的应用程序,它显示一个简单的表单。在不接触应用程序的情况下,您希望在模板中呈现其中一个表单字段时对其进行预填充。

同样,您根本不想触及原始应用程序或其形式。

猜测一下,这是一个拦截器,对吗?在 Django 中,假设这被称为中间件?

我的问题是,这种情况在 Django 中是如何处理的,并且可以向我描述该方法吗?

谢谢。

4

1 回答 1

1

您可以在表单模块导入之后和创建表单实例之前(不使用中间件)在视图中添加此行:

from app.forms import AppForm
AppForm.base_fields['fieldname'].initial="your default value"

中间件可能看起来像:

class InitialValues(object):
    def process_request(self, request):
        from app.forms import AppForm
        AppForm.base_fields['fieldname'].initial="your default value"   

它在之前执行view。您不能将中间件插入到模板渲染中,只能在视图之前和之后。

于 2013-08-16T13:50:59.673 回答