gpt4 book ai didi

python - 将 bootstrap 或 sylilng 添加到内置表单的 django

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:59 25 4
gpt4 key购买 nike

我刚刚用 Django 启动了我的第一个应用程序。我之前使用 Bootstrap 和自定义样式构建了表单。现在我开始了解带有模型的 django 内置表单。我已经为此编写了代码,但发现没有样式,而且看起来很难看。我想将我的自定义样式添加到此表单中,我该怎么做。这是我的代码。

模型.py

class Message(models.Model):
MessageID = models.AutoField(verbose_name='Message ID',primary_key=True)
MessageSubject = models.CharField(verbose_name='Subject',max_length=255,null=True,blank=True)
MessageContent = models.TextField(verbose_name='Content',null=True,blank=True)
MessageType = models.CharField(verbose_name='Message Type',max_length=255,default='Email',null=True,blank=True)

表单.py

from django import forms
from django.forms import ModelForm
from Apps.SendMessage.models import Message

class Message_form(ModelForm):
class Meta:
model = Message

views.py

def add_message(request):
message_form = {'message_form': Message_form}
print request.POST.get('Subject')
return render_to_response('sendmessage_form.html', message_form, context_instance=RequestContext(request))

和 sendmessage_form.html

{% extends "base.html" %}

{% block Content %}

<div class="container">
<!-- Contacts -->
<div id="contacts">
<div class="row">
<!-- Alignment -->
<div class="col-sm-offset-3 col-sm-4">
<!-- Form itself -->
<form name="sentMessage" action="" method="POST" class="well" id="contactForm" novalidate>
{% csrf_token %}
{{ message_form }}

<button type="submit" class="btn btn-primary btn-sm pull-right">Send</button><br />
</form>
</div>
</div>
</div>
</div>



{% endblock %}

最佳答案

您正在寻找小部件!

来自documentation :

from django import forms

class CommentForm(forms.Form):
name = forms.CharField()
url = forms.URLField()
comment = forms.CharField(widget=forms.Textarea)

在你的例子中:

您正在使用 Bootstrap,因此在每个字段中使用一个简单的 css 类(表单控件)将使它看起来很棒:

class Message_form(ModelForm):
class Meta:
model = Message
fields = ['MessageSubject', 'MessageContent', 'MessageType']
widgets = {'MessageSubject': forms.TextInput(attrs={'class': 'form-control'}),
'MessageContent': forms.Textarea(attrs={'class': 'form-control'}),
'MessageType': forms.TextInput(attrs={'class': 'form-control'}),}

另一件事,您不需要显式定义 MessageID。所有 Django 模型都有一个与您定义的主键相同的主键(检查 docs )。

关于python - 将 bootstrap 或 sylilng 添加到内置表单的 django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27656415/

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