Как убрать стрелки из Django integerField без сохранения функции ввода только чисел?
forms.py
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from .models import Profile
class UserRegisterForm(UserCreationForm):
email = forms.EmailField()
registration = forms.IntegerField(label='Registration Number')
class Meta:
model = User
fields = ['username', 'email','registration','password1', 'password2']
Как убрать стрелки вверх и вниз из поля регистрации? P.S. Я хочу разрешить пользователю вводить в это поле только числа.
Это можно сделать в CSS:
Подобно этому:
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
Вы должны быть в состоянии сделать его специфичным для этого поля, используя:
#id_registration::-webkit-outer-spin-button,
#id_registration::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
Вы можете сделать это, переопределив виджеты в Meta
классе.
Нравится:
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from .models import Profile
# Import widget that you want
from django.forms import TextInput
class UserRegisterForm(UserCreationForm):
email = forms.EmailField()
registration = forms.IntegerField(label='Registration Number')
class Meta:
model = User
fields = ['username', 'email','registration','password1', 'password2']
widgets = {
'registration': TextInput()
}
Также я не уверен, но вы можете попробовать следующее:
class UserRegisterForm(UserCreationForm):
email = forms.EmailField()
# Add widget to your field
registration = forms.IntegerField(label='Registration Number', widget=forms.TextInput())
class Meta:
model = User
fields = ['username', 'email','registration','password1', 'password2']
Дополнительная информация: