С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/88: Рейтинг темы: голосов - 88, средняя оценка - 4.84
 Аватар для Orakul
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171

Как на Django вызвать scrypt.py (питоновский скрипт) при нажатии на кнопку?

20.05.2018, 15:44. Показов 17689. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую Знатоков!!!
Ребята подскажите пожалуста как в Django 2.0 реализовать вызов скрипта
на python (js не нужен да и на нем я могу это реализовать без проблем).
На сайте имеется кнопка :
PHP/HTML
1
2
3
<form action = '{% url clickSbut %}' method = "POST">
      <input class="io" id="butstart" type="button" name="Start"  value="Старт"/>
</form>
при нажатии на нее я хочу научится вызывать скрипт на python,
пробовал так:
Файл urls.py
Python
1
2
3
4
5
6
7
8
9
10
from django.contrib import admin
from django.urls import path , include
from . import views
 
urlpatterns = [
    path('admin/', admin.site.urls),
    path('parser',views.index),
    path('zenit', views.site),
    path('clickSbut',views.clickSbut),# тут я хочу вызвать скрипт по нажатию кнопки
]
Файл views.py
Python
1
2
3
4
5
6
7
8
from django.shortcuts import render
from django.http import HttpResponse
from django.template.loader import get_template
from django.template import Context
 
def clickSbut(request):
    if request.method == "POST":
        print("Произошло нажатие кнопки 'старт'")
Но не работает вывод ошибке на снимке.
Что я не так делаю?
Миниатюры
Как на Django вызвать scrypt.py (питоновский скрипт) при нажатии на кнопку?  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.05.2018, 15:44
Ответы с готовыми решениями:

Как вызвать скрипт при нажатии на кнопку?
Всем приветы! Хлопцы, помогите пожалуйста сделать такую вещь. У нас есть конструкция: &lt;div...

Как вызвать php скрипт по нажатии на кнопку?
Есть у меня кнопка: &lt;a class=&quot;btn&quot; href=&quot;https://xxx&quot;&gt; &lt;img src=&quot;img/logo.png&quot; width=&quot;30&quot; height=&quot;30&quot;&gt;...

Как подключить готовый скрипт из файла .py в django чтоб при нажатии срабатывал скрипт и отдавал ответ
Всем привет. Я учусь по видеоурокам и немного не понимаю как связать джанго и скрипты пайтона. Есть скрипт который отправляет гет запрос...

3
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
20.05.2018, 18:58
До джанго 2.0 (?) я бы написал так:
Python
1
url('clickSbut', views.clickSbut, name='clickSbut')
Можно попробовать так:
Python
1
path('clickSbut', views.clickSbut, name='clickSbut')
Дать имя в роутинге.
0
 Аватар для Orakul
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
20.05.2018, 19:22  [ТС]
Рыжий Лис, так не работает.
0
 Аватар для Orakul
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
26.05.2018, 15:56  [ТС]
Ну ладно сам задал вопрос сам на него и отвечу . После не которого поиска решения , решение было найдено : в html файле нужно задавать тип кнопки не button а submit .

Шаг первый:

Т.е вместо

HTML5
1
2
3
<form action = '{% url clickSbut %}' method = "POST">
      <input class="io" id="butstart" type="button" name="Start"  value="Старт"/>
</form>
Делаем так:
HTML5
1
2
3
<form action = "Ваш url который будет отображен в адресной строке браузера" method = "POST">
      <input class="io" id="clickSbut" type="submit" name="clickSbut"  value="Старт"/>
</form>
Шаг второй:

В файле urls.py добавляем новое представление , которое будет вызываться при нажатии по кнопке:

urls.py
HTML5
1
2
3
4
urlpatterns = [
    path('admin/', admin.site.urls),
    path('Ваш url который будет отображен в адресной строке браузера', файл_где _реализован_скрипт.имя_функции),
]
Django будет ругаться на опцию CSRF , но я эту опцию отключил , так как свой проект намерен использовать только локально. Сделать это можно (отключить опцию CSRF) в файле settings.py закомментировать в списке MIDDLEWARE строку 'django.middleware.csrf.CsrfViewMiddlewa re' и все работает, скрипты отрабатывают даже без использования JS.
Code
1
Внимание
Если Вы намерены использовать свой проект в сети ,то не рекомендую отключать опцию CSRF!!! Все подробности о ожидаемых Ваш сайт сюрпризов ,при отключении опции CSRF, читайте в доках django.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2018, 15:56
Помогаю со студенческими работами здесь

Как вызвать modal_frame при нажатии на кнопку?
Здравствуйте. Перейду к делу. Дан modal frame &lt;div id=&quot;link&quot; class=&quot;modal_frame&quot; style=&quot;display:none; &quot; &gt; И дальше идет...

Как вызвать функцию php при нажатии на кнопку
Добрый день. &lt;? function post($aaa,$bbb){echo ($aaa. ' '. $bbb);} ?&gt; form method=&quot;post&quot;&gt; &lt;input type=&quot;button&quot;...

Как при нажатии на кнопку запустить скрипт?
Как при нажатии на кнопку в html запустить внешний скрипт? &lt;div id=&quot;btn&quot;&gt; &lt;a href ='js/glass.js' onclick = 'change(); return...

Как вызвать список при нажатии на кнопку? Код внутри Часть fun onNavigationItemSelected Непонятно как искать по id
abstract class MainActivity : AppCompatActivity(),NavigationView.OnNavigationItemSelectedListener { private lateinit var...

Как вызвать список при нажатии на кнопку? Код внутри Часть fun onNavigationItemSelected Непонятно как искать по id
В джаве писалось так Int id= item.getItemId(); далее создавалось условие поиска по id как в котлин создать такую переменную? ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru