gpt4 book ai didi

python - 如何使用 Django 1.11 基于模板的表单渲染将 CSS 类添加到小部件/字段

转载 作者:太空狗 更新时间:2023-10-29 21:30:43 24 4
gpt4 key购买 nike

注意:这个问题不应该与过去类似但在 Django 1.11 之前的问题混淆,当时他们发布了基于模板的表单渲染。

我知道 Django 现在有基于模板的表单呈现。据我了解,这应该可以解决必须从 View 或表单中注入(inject) CSS 类的问题,而不是将所有 HTML/CSS 保留在模板中。

这是我的目标:让我的表单和 View 专注于显示什么,让我的模板专注于如何显示。所以我想将所有 HTML/CSS 保留在我的模板中。

所以,我的问题是:

  • 如何向模板系统中的所有 TextInput 小部件添加一个类(例如,form-text)?
  • 如何向模板系统中的所有错误消息(验证失败)添加一个类(例如,alert-warning)?

我可能对这个新功能有一些误解,所以如果我误解了,请随时告诉我这是否不是它的工作方式或者我问的是不可能的事情。理想情况下,我想对主模板实现这些表单呈现更改。

示例问题

views.py:

class SignUp(generic.edit.CreateView):

model = models.User
template_name = 'usermgmt/sign_up.html'
form_class = forms.UserCreateForm
success_url = '/sign_up_done/'

templates/master.html(我想在此处放置一些东西,使所有 TextInput 小部件都获得一个类):

<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
<title>{% block title %}{% endblock %} | Website</title>
</head>
<body>
<div class="content-wrapper clearfix">
{% block main %}{% endblock %}
</div>
</body>
</html>

templates/usermgmt/sign_up.html:

{% extends 'master.html' %}

{% block title %}Sign Up{% endblock %}

{% block main %}
<h1>Sign Up</h1>
<p>Enter your email to sign up!</p>
<form class="form-group" method="post">
{% csrf_token %}
<input type="hidden" name="next" value="{{ next }}">
{{ form.as_p }}
<button class="btn btn-primary" type="submit">Sign Up</button>
</form>
{% endblock %}

最佳答案

继续 José Tomás Tocino 上面的回答,在 Django 1.11 中,我发现我的目录结构需要是:

main/templates/django/forms/widgets/text.html

关于python - 如何使用 Django 1.11 基于模板的表单渲染将 CSS 类添加到小部件/字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42048977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com