我在改变Django Form的CSS方面遇到了一些问题。这是我的代码 (模板):
<form method="post" action="." id="signup">
<div class="container">
{% csrf_token %}
{{ form.as_p }}
<button type="submit" value="{% trans 'Submit' %}">Join</button>
</div>
</form>
型号:
class ExRegistrationForm(RegistrationForm):
age = forms.IntegerField()
location = forms.CharField()
phone = forms.CharField()
型号:
class ExUserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
age = models.PositiveSmallIntegerField(default = 19)
location = models.CharField(max_length=2, default = "location")
phone = models.CharField(max_length=15, default = "phone number")
def __unicode__(self):
return self.user
def user_registered_callback(sender, user, request, **kwargs):
profile = ExUserProfile(user = user)
profile.age = request.POST["age"]
profile.location = request.POST["location"]
profile.phone = request.POST["phone"]
profile.save()
CSS:
.container input[type=text], .container input[type=password], .container input[type=email], .container input[type=number] {
width: 100%;
padding: 0.3em 0.5em;
margin: 0.3em 0;
font-size: 1.5em;
text-align: center;
display: inline-block;
border: 0.1em solid #ccc;
box-sizing: border-box;
border-radius: 1em;
}
结果:
我的电子邮件和号码字段的样式没有更新,我认为这个问题可能与Django表单自动生成字段和做一些奇怪的事情有关,但从检查,它显示字段具有正常的名称和输入类型。所以没有什么是不寻常的,除了CSS没有更新。
我做错了什么?
答案 0 :(得分:5)
问题与我的浏览器缓存旧CSS文件有关,因此不会显示任何更新。我很难解决这个问题,因为我并没有真正理解这个问题。
解决方案很简单:
Ctrl + Shift + Del
在Chrome中,您可以使用上述命令删除缓存,从而允许加载新的静态文件。
感谢您的帮助。
答案 1 :(得分:0)
你确定你有CSS选择器吗?转到inspect元素,选择元素并单击复制选择器。这将让您深入了解输入元素的Css选择器。
答案 2 :(得分:0)
您需要在css选择器中使用引号:例如输入[类型= “文本”]
答案 3 :(得分:0)
当Debug为False时,Django将不会提供静态内容(即CSS更改)。
确保您的settings.py文件中的Debug = True