Файл JavaScript не работает в шаблоне django

#javascript #python #django #django-views

Вопрос:

Я пытаюсь подключить страницу javascript к HTML-шаблону. Я пробовал много способов, но это ничего не показывает. Ошибок нет, но файл Js не отвечает.

В index.html файл является:

   {% extends "network/layout.html" %} {% load static %}  {% block body %}  lt;!-- lt;form action="" method=""gt;    lt;input type="text" name="post" id="post-body"gt;  lt;input type="submit" name="" id="postbtn" value="Post"gt;  lt;/formgt; --gt;   lt;input type="submit" name="btn" id="btn" value="check"gt; {% endblock %}  {% block script %}  lt;script src="{% static 'network/post.js' %}" type="text/javascript"gt;lt;/scriptgt; {% endblock %}  

в post.js файл является:

   document.addEventListener('DOMContentLoaded', function(){  document.querySelector('#btn').onclick = function(){  document.querySelector('#heading').innerHTML = 'hello';  }; })  alert("Hello, Welcome to Javatpoint");   

в settings.py :

   # Internationalization # https://docs.djangoproject.com/en/3.0/topics/i18n/  LANGUAGE_CODE = 'en-us'  TIME_ZONE = 'UTC'  USE_I18N = True  USE_L10N = True  USE_TZ = True   # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/3.0/howto/static-files/  STATIC_URL = '/static/'   

и urls.py файл:

   from django.urls import path from .views import * from . import views    urlpatterns = [  path("", views.index, name="index"),  path("login", views.login_view, name="login"),  path("logout", views.logout_view, name="logout"),  path("register", views.register, name="register"),   path('posts', compose_post, name='post' ) ]  

Пожалуйста, помогите мне с этим. Я буду вам очень благодарен.

Комментарии:

1. Если вы используете jquery, который включен в какой-либо заголовок, пожалуйста, убедитесь, что он загружен. Также вы можете переместить скрипт, включающий указанный выше блок содержимого

2. У вас есть {% block script %} в layout.html?

3. Нет, у меня его не было в моем layout.html. Но я все понял. Спасибо @TariqAhmed

Ответ №1:

Просто включите это в свой layout.html

 {% block script %} {% endblock script %}