Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 12.05.2015
Сообщений: 132

Обработка формы select

16.10.2015, 17:18. Показов 2703. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть форма селект. не могу никак получить из нее выбранные значения.
Суть в том чтобы вьюха получила выбранное значение - вернула html с аргументом.
html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form name="doc_tip" action="/tips/" method="post">{% csrf_token %}
    <p><select>
        <optgroup label="Договорная">
            <option value="r1" name="r1" id="r1">Доходный</option>
            <option value="r2" name="r2" id="r2">Расходный</option>
            <option value="r3" name="r3" id="r3">Разное</option>
        </optgroup>
        <optgroup label="Инф-справоч">
            <option value="t1" name="t1" id="t1">СЗ</option>
            <option value="t2" name="t2" id="t2">Заявка</option>
            <option value="t3" name="t3" id="t3">Разное</option>
        </optgroup>
    </select></p>
    <p>
        <input type="radio" value="r11">dohod <br>
        <input type="radio" value="r22">rashod
    </p>
    <p><input type="submit" value="Send"></p>
</form>
вьюха которая не работает ( посути пишет, что я не возвращаю html (так как в цикле нету else), но я и не получаю из формы ничего кроме csrf токена)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def tips(request):
    args = {}
    args.update(csrf(request))
    args['trueq_create'] = 1
    args['trueqq'] = 1
    args['username'] = auth.get_user(request).username
    if request.method == 'POST':
        if 'r1' in request.POST:
            args['trueq_tips1'] = 1
            return render_to_response('create_docsup.html', args, context_instance=RequestContext(request))
        elif 'r2' in request.POST:
            args['trueq_tips2'] = 1
            return render_to_response('create_docsup.html', args, context_instance=RequestContext(request))
        elif 'r11' in request.POST:
            args['trueq_tips1'] = 1
            return render_to_response('create_docsup.html', args, context_instance=RequestContext(request))
        elif 'r22' in request.POST:
            args['trueq_tips2'] = 1
            return render_to_response('create_docsup.html', args, context_instance=RequestContext(request))
    else:
        return redirect('/')
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.10.2015, 17:18
Ответы с готовыми решениями:

Сохранение значения select и работоспособность второго select после отправки формы
Добрый вечер!Есть проблемка-не могу сохранить значение селекта,сохранив работоспособность др.селектов после отправки формы....страну...

Сохранение значения select и работоспособность второго select после отправки формы
Добрый вечер!Есть проблемка-не могу сохранить значение селекта,сохранив работоспособность др.селектов после отправки формы....страну...

Обработка <select>
Привет всем. Пытаюсь обработать &lt;select&gt; таким образом: $gameid = $_POST; Переменная $gameid при этом остаётся пустой. Создание...

4
16.10.2015, 23:35

Не по теме:


Django в себе имеет хороший инструмент по работе с формами, а ты используешь его в качестве кувалды...

0
0 / 0 / 0
Регистрация: 12.05.2015
Сообщений: 132
18.10.2015, 12:33  [ТС]
я обязательно с ним ознакомлюсь, но есть ли ответ почему форма не отправляет данные? в чем я ошибся?

Добавлено через 19 секунд
или в принципе джанго требует использовать только свой инструмент?
0
 Аватар для ivlevdenis
21 / 34 / 14
Регистрация: 23.07.2014
Сообщений: 148
18.10.2015, 12:51
Смотри что там в POST.

Не по теме:


А вообще не заморачивайся, сделай на стандартных формах. Не пхпэшничай!

0
0 / 0 / 0
Регистрация: 12.05.2015
Сообщений: 132
23.10.2015, 12:16  [ТС]
данные из формы получаю, но как мне перехватить Value? из селекта я должен выбрать value и на основании этого вернуть соответствующие данные... использовать request.POST.values()? как это должно выглядить? можно пример какой-нибудь?

Добавлено через 19 часов 48 минут
разобрался.
q = request.GET['choice']
if q = 'rivalues': ...

Добавлено через 5 минут
сейчас проблема такова:
суть в том чтобы получить заполненную форму (текст, фаил). И сохранить это в бд как отдельный объект.
создал модель:
Python
1
2
3
4
class Karto(models.Model):
    id_name = models.IntegerField(default=0)
    small = models.CharField(max_length=255)
    file = models.FileField(upload_to='uploads')
создал форму:
Python
1
2
3
4
5
6
7
class CreateKarto(forms.Form):
    class Meta():
        model = Karto
        fields = ['small', 'file']
        widgets = {
            'small': Textarea(attrs={'cols': 80, 'rows': 30}),
        }
соответственно форма в шаблоне:
Python
1
2
3
4
5
6
7
<form action="/dokarto/" method="POST">{% csrf_token %}
    <label for name="small">Краткое содержание</label>
    <textarea name="small" cols="80" rows="20"></textarea><br><br>
    <input type="file" name="file"><br><br>
    {{ form }}
<input type="submit" value="click">
</form>
и обработка вьюхой:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def create_karto(request):
    args = {}
    args.update(csrf(request))
    if request.method == 'POST':
        if request.POST and ("pause" not in request.session):
            form = CreateKarto(request.POST)
            if form.is_valid():
                instances = form.save()
                request.session.set_expiry(60)
                request.session['pause'] = True
                args['create_done'] = 1
                render_to_response('create_docsup.html', args, context_instance=RequestContext(request))
            else:
                redirect('/docsup/', args)
        else:
            redirect('/docsup/', args)
    else:
        redirect('/docsup/', args)
выдает ошибку AttributeErroe: 'CreateKarto' object has no attribute 'save'
ругается на form.save()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.10.2015, 12:16
Помогаю со студенческими работами здесь

Обработка Select
Добрый день граждане! Такой вопрос: Есть обычная форма с select и собственно php код который всё это обрабатывает: &lt;form...

Обработка результата select'a
Есть select: DM.SQLCom.CommandText:='SELECT Расписание., Расписание., Расписание. FROM Расписание'+ ' WHERE ид_день =' +...

Обработка запроса SELECT
$res = mysql_query(&quot;SELECT `second_id` FROM `contacts` WHERE `first_id` = 121&quot;); $array1 = mysql_fetch_row($res); В...

Select обработка значения
Нужна помощь, пока не освоил js. И так, есть select &lt;select id=&quot;sel&quot; class=&quot;lelbut&quot; name=&quot;shk_delivery&quot;&gt; &lt;option...

Обработка тега select
Здравствуйте, у меня есть форма: &lt;form action=&quot;admin.php&quot; method=&quot;POST&quot;&gt; &lt;select name=&quot;name&quot; id=&quot;&quot;&gt; &lt;option...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru