[英]Django crispy forms is not working correctly
脆的 forms 不起作用,我没有任何错误但 forms 仍然正常。 想得到帮助。 我不明白 我从来没有遇到过这个问题,谢谢
我的 INSTALLED_APPS 中有'crispy_forms'
,并且安装正确
我尝试了很多东西,但没有得到任何结果
新家.html
{% load crispy_forms_tags %}
{% load static %}
{% block content %}
<link rel="stylesheet" type="text/css" href="{% static 'pools/newmain.css' %}">
<!-- Load an icon library to show a hamburger menu (bars) on small screens -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="topnav" id="myTopnav">
<a href="#home" class="active">Home</a>
<a href="#news">News</a>
<a href="#contact">Contact</a>
<a href="#about">About</a>
<a href="javascript:void(0);" class="icon" onclick="myFunction()">
<i class="fa fa-bars"></i>
</a>
</div>
<div class="content-section">
<form method="POST" action="">
{% csrf_token %}
{{ form|crispy }}
<button class="btn btn-outline-info" type="submit">Send</button>
</form>
</div>
{% endblock %}
newmain.css
body {
background-color: coral;
}
/* Add a black background color to the top navigation */
.topnav {
background-color: #333;
overflow: hidden;
}
/* Style the links inside the navigation bar */
.topnav a {
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
/* Change the color of links on hover */
.topnav a:hover {
background-color: #ddd;
color: black;
}
/* Add an active class to highlight the current page */
.topnav a.active {
background-color: #4CAF50;
color: white;
}
/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
display: none;
}
视图.py
def newhome(request):
form = NewTask
if request.method == "POST":
form = NewTask(request.POST)
if form.is_valid():
form.save()
task = form.cleaned_data["title"]
print(task)
else:
form = NewTask()
return render(request, "pools/newhome.html", {"form": form})
return render(request, "pools/newhome.html", {"form": form})
1.在文档中,它说:
脆皮形式不包括 static 文件。 您需要自己包含正确的相应媒体文件,具体取决于您使用的 CSS 框架(模板包)。 这可能涉及一个或多个 CSS 和 JS 文件。 阅读 CSS 框架的文档以获取有关如何设置的帮助。
您是否在此处粘贴了所有 html 文件代码? 我没有看到 cryspy-forms 文档提到的任何 CSS 框架,例如bootstrap4
。
请注意,您需要将以下内容添加到您的html
参见 CDN2的引导网站
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
不要忘记删除您的浏览器历史记录!
def newhome(request):
if request.method == "POST":
form = NewTask(request.POST)
if form.is_valid():
task = form.cleaned_data["title"] # this is good practice because later you might want to add things like user = request.user before saving the form.
form.save()
print(task)
else:
print(form.errors)
else:
form = NewTask()
return render(request, "pools/newhome.html", {"form": form})
我的 INSTALLED_APPS 中有“crispy_forms”,并且安装正确
您可能已将“crispy_forms”放在 INSTALLED_APPS 中,但您是否在 settings.py 中指定了模板包? 例如CRISPY_TEMPLATE_PACK = 'uni_form'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.