С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
 Аватар для Александер2000
7 / 7 / 0
Регистрация: 29.06.2013
Сообщений: 218

Ajax в Django. Или почему модальное окно покоится в глубинах разметки

23.07.2020, 14:18. Показов 2800. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Я совершенно не шарю в js, но потребовалось сделать кнопки без перезагрузки, решил немного залезть
наткнулся на статью (не знаю можно ли постить ссылки на сторонние ресурсы) как сделать красивое модальное окно через ajax и добаить в него данные, то что мне впринципе нужно
и столкнулся с такой проблемой, скрипт у меня выглядит рабочим, но не работает, не могу разобраться почему

прикладываю
main
Python
1
2
3
4
5
6
7
8
9
10
<div>
                <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
                <script src="{% static 'js/js.js' %}"></script>
                <script
                        src="https://code.jquery.com/jquery-3.5.1.js"
                        integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
                        crossorigin="anonymous"></script>
                {% block javascript %}
                {% endblock %}
            </div>
View
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class MainArticles(ListView):
    template_name = 'dishes/articles.html'
    model = Articles
 
 
class MainArticlesCreate(TemplateView):
 
    def article_create(self, request):
        form = ArticlesForm()
        context = {'form': form}
        html_form = render_to_string('dishes/articles_create.html',
                                     context,
                                     request=request,
                                     )
        return JsonResponse({'html_form': html_form})
Сам скрипт
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(function () {
  $(".js-create-articles").click(function () {
    $.ajax({
      url: '/articles/create/',
      type: 'get',
      dataType: 'json',
      beforeSend: function () {
        $("#modal-articles").modal("show");
      },
      success: function (data) {
        $("#modal-articles .modal-content").html(data.html_form);
      }
    });
  });
 
});
Страница со статьей
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
43
44
45
46
47
48
{% extends 'main.html' %}
{% load static %}
 
{% block javascript %}
<script src="{% static 'js/articles.js' %}"></script>
{% endblock %}
 
{% block content %}
<section class="feature">
    <div class="col-md-9">
        <h2 class="section-header">Товары в корзине</h2>
        <div class="table-responsive">
            <p>
                <button type="button" class="btn btn-primary js-create-articles">
                    <span class="glyphicon glyphicon-plus"></span>
                    New article
                </button>
            </p>
            <table class="table">
                <tr class="info">
                    <td class="info col-md-3">Товар</td>
                </tr>
                {% for obj in object_list %}
                <tr>
                    <td class="info col-md-3">{{ obj.name }}</td>
                    <td class="info col-md-3">{{ obj.deception }}</td>
                    <td class="info col-md-3">
                        <button>edit</button>
                    </td>
                </tr>
 
                {% empty %}
                <tr>
                    <td colspan="7" class="text-center bg-warning">No book</td>
                </tr>
                {% endfor %}
            </table>
            <p><a href="{% url 'dishes:index' %}">NAZAAAAAD </a></p>
        </div>
        <!-- THE MODAL WE WILL BE USING -->
        <div class="modal fade" id="modal-articles">
            <div class="modal-dialog">
                <div class="modal-content"></div>
            </div>
        </div>
    </div>
</section>
{% endblock content %}
А это страница с созданием статьи
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
{% load widget_tweaks %}
 
 
<form method="post">
  {% csrf_token %}
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
      <span aria-hidden="true">&times;</span>
    </button>
    <h4 class="modal-title">Create a new articles</h4>
  </div>
  <div class="modal-body">
    {% for field in form %}
      <div class="form-group{% if field.errors %} has-error{% endif %}">
        <label for="{{ field.id_for_label }}">{{ field.label }}</label>
        {% render_field field class="form-control" %}
        {% for error in field.errors %}
          <p class="help-block">{{ error }}</p>
        {% endfor %}
      </div>
    {% endfor %}
  </div>
  <div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    <button type="submit" class="btn btn-primary">Create book</button>
  </div>
</form>
ну собственно окно по клику не появляется, проверял работоспосоносбть скрипати вот так
JavaScript
1
2
3
4
<script type="text/javascript">
  if (window.jQuery) alert("jQuery подключен");
  else alert("jQuery не подключен");
</script>
появлялось "подключен, не знаю что не так

Добавлено через 6 минут
Python
1
2
3
class ArticlesForm(forms.ModelForm):
    model = Articles
    fields = {'name', 'tag', 'deception'}
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Articles(models.Model):
    name = models.CharField(max_length=100)
    tag = models.CharField(max_length=20, null=True, blank=True)
    deception = models.TextField(max_length=800)
 
    def __str__(self):
        return self.name
 
    class Meta:
        verbose_name = 'Статьи'
        verbose_name_plural = 'Статьи'
 
    def get_absolute_url(self):
        return reverse('dishes:articles', kwargs={"pk": self.id})
если вдруг понадобиься форма и модель

Добавлено через 1 минуту
Python
1
2
path('articles/', views.MainArticles.as_view(), name='articlesview'),
path('articles/create/', views.MainArticlesCreate.as_view(), name='articlescreateview'),
urls

Добавлено через 7 минут
молю господа бога, чтобы мне ответил человек кто мастерски владеет js и django, и терпим к таким как я
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.07.2020, 14:18
Ответы с готовыми решениями:

Вызываемое модальное окно поместить в определёном месте разметки
Здрасте, по клику кнопки я вызываю модальное окно для которого создаю блок и он помещается в низу разметки, можно его засунуть куда я...

Модальное окно и Ajax
всем добрый день, уважаемые форумчане! помогите, пожалуйста, решить следующую задачу: есть страница, на ней есть модальное окно с...

Модальное окно + ajax
Здравствуйте, я раньше писал на php и с ajax/jquery сталкивался не так часто. Сейчас встала потребность в более-менее современном...

1
34 / 11 / 9
Регистрация: 10.03.2020
Сообщений: 55
30.07.2020, 15:29
Здравствуйте.
Вы проверяете, проходит ли у Вас запрос на views?
Поставьте alert непосредственно после выполнения запроса, то есть вот здесь.
success: function (data) {
$("#modal-articles .modal-content").html(data.html_form);
}
Добавлено через 58 минут
А еще измените
$("#modal-articles").modal("show");
на
JavaScript
1
$("#modal-articles").show()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.07.2020, 15:29
Помогаю со студенческими работами здесь

Модальное окно jquery ajax
Я слабо понимаю в ajax и java, возникла проблема, по сути с готовым скриптом. Есть форма, при нажатии на кнопку отправить, должны данные...

Ajax-загрузка страницы в модальное окно
Добрый вечер, господа. У меня есть отдельная страница с определённым контентом. Хочу, чтобы эта страница отображалась в модальном окне на...

AJAX Загрузка страницы в модальное окно
Добрый день или вечер. Возникла задача =)) Есть под домены.. там размещены сайты, надо организовать загрузку этих сайтов в модальное окно...

Показать модальное окно после AJAX-запроса
Всем привет! Нужна помощь. и так есть простая форма с ajax. как только заработает нужно показать модальное окно, окно можно посмотреть...

Как при AJAX запросе открыть модальное окно
Запрос @Ajax.ActionLink(&quot;Детали&quot;, &quot;Details&quot;, &quot;Admin&quot;, new { id = item.ID }, new AjaxOptions() ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru