#python #html #django
Вопрос:
У меня есть небольшой вопрос.
Вот моя «Страница регистрации»: [![Страница регистрации][1]][1]
Но, например, когда я добавляю свою форму для входа в систему, я получаю следующее:
[![Страница с логином][2]][2]
Я хочу знать, как я могу сделать так, чтобы поле формы соответствовало этому полю ввода HTML? Я не знаю, нужно ли мне изменять его размер в forms.py или если бы был способ всегда привязывать размер ввода, который находится в HTML-файле.
Это HTML:
{% load static %}
<!DOCTYPE html>
{% csrf_token %}
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>IPV QS Tool Registration</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="registration.css" />
<link rel="stylesheet" type="text/css" href="{% static 'css/style_register.css' %}" />
</head>
<body>
<form method="POST" action="">
<label>
<p class="label-txt">ENTER YOUR AMAZON EMAIL</p>
<input type="email" class="input" required />
<div class="line-box"></div>
<div class="line"></div>
</div>
</label>
<label>
<p class="label-txt">ENTER YOUR AMAZON LOGIN</p>
{{form.username}}
<div class="line-box">
<div class="line"></div>
</div>
</label>
<label>
<p class="label-txt">CREATE A PASSWORD</p>
<input
type="password"
class="input password"
pattern="(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
title="Must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters"
required
/>
<div class="line-box">
<div class="line"></div>
</div>
</label>
<button type="submit">Submit</button>
</form>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-MrcW6ZMFYlzcLA8Nl NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP JcXn/tWtIaxVXM"
crossorigin="anonymous"
></script>
<script src="registration.js"></script>
</body>
</html>
Forms.py:
class createUserForm(UserCreationForm):
class Meta:
model = User
fields = ['username', 'email', 'password1', 'password2']
Ответ №1:
Похоже, вам не хватает class=»ввод» в вашем поле ввода. Пожалуйста, попробуйте это,
username = forms.CharField(max_length=100,
widget= forms.TextInput
(attrs={'class':'input'}))
виджет= формы.TextInput(attrs={‘класс’:’ввод’})
Это приведет к добавлению этого класса в ваше поле CharField.
Я надеюсь, что это поможет. Не стесняйтесь подключаться в случае, если проблема все еще сохраняется.
Спасибо.
Комментарии:
1. Чувак, могу я угостить тебя выпивкой? Это был такой ясный и прямой ответ! Большое спасибо!
2. Ха-ха..не могу сказать » нет » на это 🙂 Рад быть вам полезным