Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 63

Как присвоить значение полю модели в html

23.05.2022, 23:02. Показов 543. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня возникла следующая ситуация: при добавлении нового кандидата в моём приложении мне необходимо записывать ему в определённое поле юзера, который его создал. кандидат и юзер связаны между собой связью ForeignKey. Вот их модели.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Candidate(models.Model):
    first_name = models.CharField(max_length=150, verbose_name='Имя')
    last_name = models.CharField(max_length=150, verbose_name='Фамилия')
    middle_name = models.CharField(max_length=150, verbose_name='Отчество')
    date_of_birth = models.DateField(verbose_name='Дата рождения')
    region = models.CharField(max_length=150, verbose_name='Регион')
    description = models.TextField()
    preview = models.ImageField(upload_to=path_to_directory, verbose_name='Фото')
    batch = models.ForeignKey('Batch', on_delete=models.CASCADE, verbose_name='Партия', default=4, blank=True) 
    slogan = models.OneToOneField('Slogan', on_delete=models.PROTECT, verbose_name='Слоган', null=True)
    support_count = models.IntegerField(default=0, verbose_name='Поддерживают')  
    
    creator = models.ForeignKey('MyUser', on_delete=models.CASCADE, verbose_name='Выдвиженец', null=True)
 
 
 
    class Meta:
        verbose_name = 'Кандидат'
        verbose_name_plural = 'Кандидаты'
        ordering = ('-date_of_birth',)
 
    def __str__(self):
        return self.first_name + " " + self.last_name
 
    def  get_absolute_url(self):
        return reverse('candidate', kwargs={'pk': self.pk})
 
class MyUser(User):
    nick_name = models.CharField(max_length=30)
    photo = models.ImageField(upload_to=user_path_to_directory, verbose_name='Фото')
Я хочу, чтобы при создании кандидата на форме не было видно даже этого поля, однако, чтобы при отправке post запроса, в поле creator записывался user. Каким образом я могу сделать это?

Привожу форму регистрации:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class CandidateForm(forms.ModelForm):
    class Meta:
        model = Candidate
 
        fields = ['first_name', 'last_name', 'middle_name', 'date_of_birth', 'region', 'description',
                  'batch', 'preview', 'slogan']
 
        widgets = {
            'first_name': forms.TextInput(attrs={
                'class': 'form-control',
            }),
 
            'last_name': forms.TextInput(attrs={
                'class': 'form-control',
            }),
 
            'middle_name': forms.TextInput(attrs={
                'class': 'form-control',
            }),
 
            'date_of_birth': forms.DateInput(attrs={
                 'class': 'date',
                 'placeholder': 'D.M.YYYY',
            }),
 
            'region': forms.TextInput(attrs={
                'class': 'form-control',
            }),
 
            'description': forms.Textarea(attrs={
                'class': 'form-control',
                'rows': '5',
            }),
 
            'slogan': forms.TextInput(attrs={
                'class': 'form-control',
            }),
 
            'batch': forms.Select(attrs={
                'class': 'form-control',
            })
        }
и саму html страницу, на всякий случай, хоть она вряд ли понадобится:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% extends 'base.html' %}
 
 
{% block navbar %}
    {% include 'inc/_navbar.html' %}
{% endblock %}
 
{% block content %}
<form action="{% url 'add_candidate' %}" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    {{ form.non_field.errors }}
 
    {{ form.as_p }}  
 
    <button type="submit" class="btn-dark btn-primary">Записать мазафакера</button>
    <small id="buttonHelp" class="form-text text-muted">Всё равно все знают, кто победит</small>
</form>
 
{% endblock %}
Также прилагаю скриншот самой страницы добавления


p.s. также есть вопрос, каким образом можно записать поле слоган, которое является связью один к одному, не использую стандартный Select ввод, так как он не подходит, ведь с каждым кандидатом нужно создавать новый слоган.
Миниатюры
Как присвоить значение полю модели в html  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.05.2022, 23:02
Ответы с готовыми решениями:

Как присвоить значение полю
Доброго времени суток уважаемые форумчане. Помогите разобраться. Мне необходимо присвоить полю (в таблице &quot;Поле1&quot;), числовое...

Как полю присвоить значение запроса
Здравствуйте, подскажите пожалуйста Как полю присвоить значение запроса

Как присвоить значение определенному полю ?
В Access имеется готовая пустая таблица, в ней есть поле 'Номер группировки', как с помощью VBA присвоить этому полю значение 1, при этом в...

4
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
24.05.2022, 09:59
Цитата Сообщение от de1ukc Посмотреть сообщение
чтобы при отправке post запроса, в поле creator записывался user.
creator = request.user
1
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 63
24.05.2022, 20:13  [ТС]
Это звучит действительно гениально и просто. Я только забыл указать свою вьюшку . views.py:

Python
1
2
3
4
5
class CreateCandidate(LoginRequiredMixin, CreateView):
    form_class = CandidateForm
    template_name = 'GOLOSOVANIE/add_candidate.html'
    success_url = reverse_lazy('elections')
    login_url = '/login/'  # сделать страницу регистрирования
поскольку я использую класс, то не совсем понимаю, как мне именно это сделать. Ведь даже в классе у меня модели-то и нет - она есть в форме.
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
25.05.2022, 08:46
Цитата Сообщение от de1ukc Посмотреть сообщение
не совсем понимаю, как мне именно это сделать
Переопределить в классе метод post(self, request, *args, **kwargs)
0
0 / 0 / 0
Регистрация: 24.09.2021
Сообщений: 63
25.05.2022, 13:39  [ТС]
Максимально абстрактно говоришь. Понятно, что переопределить. Каким именно образом?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.05.2022, 13:39
Помогаю со студенческими работами здесь

Как присвоить полю значение из запроса?
Выдает ошибку &quot;Invalid use of property&quot; Dim rst As DAO.Recordset Dim sSQL As String sSQL = &quot;SELECT * AS выражение FROM Тип_вагонов...

Как присвоить полю значение запроса?
Спасите не могу никак присвоить полю значение запроса....., т.е. На форме два поля в одном выбирается вид отчета, а в другом я бы ходела,...

Как присвоить значение полю структуры, находящейся в списке?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

Как присвоить значение полю по имени? Класс статический
Здраствуйте! У меня есть статический класс Comm. Внутри него есть функция static public SetValueByFieldName(string fieldName) ...

Как присвоить значение полю при изменении другого поля
Суть такова, есть 2 таблицы Таблица1 и Таблица2 связанные между собой по строкам &quot;Телефон&quot;, в 1 таблице находятся телефоны и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru