django — изменение имени функции JavaScript или идентификатора элемента в шаблоне HTML приводит к тому, что оно перестает работать

изменение имени функции JavaScript или идентификатора элемента в шаблоне HTML приводит к тому, что он перестает работать

Я занимаюсь разработкой приложения в Django. У меня есть эта странная проблема.

на моем шаблоне у меня есть:

 {amp}lt;div class="form-group"{amp}gt; {amp}lt;input name="Data_inserimento_entry" type="date" class="form-control" id="date_to_turn_into_toda" {amp}gt; {amp}lt;/div{amp}gt; {amp}lt;script type="text/javascript" src={% static "js/get_today_date.js" %}{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;script{amp}gt; get_today_date(date_to_turn_into_toda) {amp}lt;/script{amp}gt; 

в файле js get_today_date.js хранящемся в static{amp}gt; js{amp}gt; get_today_date.js у меня есть

 function get_today_date(id_data) { var now = new Date(); var day = ("0"   now.getDate()).slice(-2); var month = ("0"   (now.getMonth()   1)).slice(-2); var today = now.getFullYear() "-" (month) "-" (day); document.getElementById(id_data).value = today; } 

когда я запускаю сервер и загружаю шаблон, в слоте ввода появляется сегодняшняя дата. Я рад этому.

Если я прокомментирую любую из двух строк javascript в шаблоне, это больше не работает. Я рад этому.

Здесь начинается странная часть

Если я изменю идентификатор, вот так:

 {amp}lt;div class="form-group"{amp}gt; {amp}lt;input name="Data_inserimento_entry" type="date" class="form-control" id="date_to_turn_into_today" {amp}gt; {amp}lt;/div{amp}gt; {amp}lt;script type="text/javascript" src={% static "js/get_today_date.js" %}{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;script{amp}gt; get_today_date(date_to_turn_into_today) {amp}lt;/script{amp}gt; 

Это больше не работает. Почему?

И даже если я изменю имя функции в обоих скриптах, например:

 {amp}lt;script type="text/javascript" src={% static "js/get_today_date.js" %}{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;script{amp}gt; get_today_date_ID(date_to_turn_into_today) {amp}lt;/script{amp}gt; 

а также

 function get_today_date_ID(id_data) { var now = new Date(); var day = ("0"   now.getDate()).slice(-2); var month = ("0"   (now.getMonth()   1)).slice(-2); var today = now.getFullYear() "-" (month) "-" (day); document.getElementById(id_data).value = today; } 

Это больше не работает. Почему?

Правильный ли синтаксис для вызова javascript?

Я забыл изменить идентификатор или имя функции в другом месте, кроме шаблона и файла javascript?

Примечание: функция в файле javascript и в файле javascript имеет одинаковое имя (за исключением расширения .js), это проблема?

Обновить:

в моей модели у меня есть:

 class mymodel(models.Model): Data_inserimento_entry = models.DateField(blank=False, null=False, default=timezone.now().date() ) 

Обновить:

здесь я выкладываю весь шаблон aggiungi_terminologia.html, отвечая на комментарий с просьбой дать дополнительные пояснения

  {% extends 'base.html'%} {% block content %} {amp}lt;h1{amp}gt;Aggiungi terminologia in massa{amp}lt;/h1{amp}gt; {amp}lt;!-- scarica template glossario --{amp}gt; {amp}lt;p{amp}gt; {amp}lt;form method="get" action="static/files_for_download/template_glossario.xlsx"{amp}gt; {amp}lt;div class="container"{amp}gt;{amp}lt;/div{amp}gt; {amp}lt;button type="submit" class="btn btn-success"{amp}gt;Scarica template{amp}lt;/button{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;/form{amp}gt; {amp}lt;/p{amp}gt; {amp}lt;div class="container"{amp}gt; {amp}lt;small id="inputHelp" class="form-text text-muted"{amp}gt;NOTA: Non rinominare le colonne del template.{amp}lt;/small{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;br{amp}gt; {amp}lt;!-- carica glossario --{amp}gt; {amp}lt;p{amp}gt; {amp}lt;form class="container" method="POST" enctype="multipart/form-data" {amp}gt; {% csrf_token %} {amp}lt;div class="file-upload-wrapper" id="input-file-now"{amp}gt; {amp}lt;small id="inputHelp" class="form-text text-muted"{amp}gt;Seleziona il template compilato con la terminologia da caricare.{amp}lt;/small{amp}gt; {amp}lt;input type="file" name="uploaded_glossary" id="input-file-now" data-max-file-size="5M" class="file-upload"{amp}gt; {amp}lt;br{amp}gt;{amp}lt;br{amp}gt; {amp}lt;div class="form-group"{amp}gt; {amp}lt;input name="Data_inserimento_entry" type="hidden" class="form-control" id="date_to_turn_into_toda"{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;button type="submit" class="btn btn-primary"{amp}gt;Carica glossario{amp}lt;/button{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;/form{amp}gt; {amp}lt;/p{amp}gt; {amp}lt;br{amp}gt;{amp}lt;br{amp}gt;{amp}lt;br{amp}gt;{amp}lt;br{amp}gt; {amp}lt;!-- Django tag load static --{amp}gt; {% load static %} {amp}lt;!-- CSS --{amp}gt; {amp}lt;link rel="stylesheet" type="text/css" href={% static "css/searchbar_style.css" %}{amp}gt; {amp}lt;link rel="stylesheet" type="text/css" href={% static "css/upload_glossary_slot.css" %}{amp}gt; {amp}lt;!-- Javascript --{amp}gt; {amp}lt;script type="text/javascript" src={% static "js/get_today_date.js" %}{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;script{amp}gt; get_today_date("date_to_turn_into_toda") {amp}lt;/script{amp}gt; {% endblock %} в  {% extends 'base.html'%} {% block content %} {amp}lt;h1{amp}gt;Aggiungi terminologia in massa{amp}lt;/h1{amp}gt; {amp}lt;!-- scarica template glossario --{amp}gt; {amp}lt;p{amp}gt; {amp}lt;form method="get" action="static/files_for_download/template_glossario.xlsx"{amp}gt; {amp}lt;div class="container"{amp}gt;{amp}lt;/div{amp}gt; {amp}lt;button type="submit" class="btn btn-success"{amp}gt;Scarica template{amp}lt;/button{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;/form{amp}gt; {amp}lt;/p{amp}gt; {amp}lt;div class="container"{amp}gt; {amp}lt;small id="inputHelp" class="form-text text-muted"{amp}gt;NOTA: Non rinominare le colonne del template.{amp}lt;/small{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;br{amp}gt; {amp}lt;!-- carica glossario --{amp}gt; {amp}lt;p{amp}gt; {amp}lt;form class="container" method="POST" enctype="multipart/form-data" {amp}gt; {% csrf_token %} {amp}lt;div class="file-upload-wrapper" id="input-file-now"{amp}gt; {amp}lt;small id="inputHelp" class="form-text text-muted"{amp}gt;Seleziona il template compilato con la terminologia da caricare.{amp}lt;/small{amp}gt; {amp}lt;input type="file" name="uploaded_glossary" id="input-file-now" data-max-file-size="5M" class="file-upload"{amp}gt; {amp}lt;br{amp}gt;{amp}lt;br{amp}gt; {amp}lt;div class="form-group"{amp}gt; {amp}lt;input name="Data_inserimento_entry" type="hidden" class="form-control" id="date_to_turn_into_toda"{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;button type="submit" class="btn btn-primary"{amp}gt;Carica glossario{amp}lt;/button{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;/form{amp}gt; {amp}lt;/p{amp}gt; {amp}lt;br{amp}gt;{amp}lt;br{amp}gt;{amp}lt;br{amp}gt;{amp}lt;br{amp}gt; {amp}lt;!-- Django tag load static --{amp}gt; {% load static %} {amp}lt;!-- CSS --{amp}gt; {amp}lt;link rel="stylesheet" type="text/css" href={% static "css/searchbar_style.css" %}{amp}gt; {amp}lt;link rel="stylesheet" type="text/css" href={% static "css/upload_glossary_slot.css" %}{amp}gt; {amp}lt;!-- Javascript --{amp}gt; {amp}lt;script type="text/javascript" src={% static "js/get_today_date.js" %}{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;script{amp}gt; get_today_date("date_to_turn_into_toda") {amp}lt;/script{amp}gt; {% endblock %} 

Здесь я публикую свой весь шаблон base.html:

 {% load static %} {amp}lt;!doctype html{amp}gt; {amp}lt;html lang="en"{amp}gt; {amp}lt;head{amp}gt; {amp}lt;!-- Required meta tags --{amp}gt; {amp}lt;meta charset="utf-8"{amp}gt; {amp}lt;meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"{amp}gt; {amp}lt;!-- favicon --{amp}gt; {amp}lt;!-- {amp}lt;link rel="shortcut icon" href="{% static 'img/gestisco_logo_round_favicon2.png' %}" /{amp}gt; --{amp}gt; {amp}lt;link rel="shortcut icon" href="{% static 'img/metaglossary_favicon_3.png' %}" /{amp}gt; {amp}lt;!-- Bootstrap CSS --{amp}gt; {amp}lt;link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"{amp}gt; {amp}lt;title{amp}gt;G{amp}lt;/title{amp}gt; {amp}lt;/head{amp}gt; {amp}lt;body{amp}gt; {amp}lt;nav class="navbar navbar-expand-lg navbar-dark bg-dark"{amp}gt; {amp}lt;!-- Pagina iniziale --{amp}gt; {amp}lt;!-- questa nel tutorial non c è --{amp}gt; {amp}lt;a class="navbar-brand" href="{% url 'home' %}"{amp}gt;GESTI.S.CO Interreg IT-CH{amp}lt;/a{amp}gt; {amp}lt;button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"{amp}gt; {amp}lt;span class="navbar-toggler-icon"{amp}gt;{amp}lt;/span{amp}gt; {amp}lt;/button{amp}gt; {amp}lt;div class="collapse navbar-collapse" id="navbarSupportedContent"{amp}gt; {amp}lt;ul class="navbar-nav mr-auto"{amp}gt; {amp}lt;!-- glossario --{amp}gt; {amp}lt;li class="nav-item"{amp}gt; {amp}lt;a class="nav-link" href="{% url 'glossario' %}"{amp}gt;Glossario{amp}lt;span class="sr-only"{amp}gt;(current){amp}lt;/span{amp}gt;{amp}lt;/a{amp}gt; {amp}lt;/li{amp}gt; {amp}lt;!-- Aggiungi terminologia --{amp}gt; {amp}lt;li class="nav-item"{amp}gt; {amp}lt;a class="nav-link" href="{% url 'aggiungi_terminologia' %}"{amp}gt;Aggiungi terminologia{amp}lt;/a{amp}gt; {amp}lt;/li{amp}gt; {amp}lt;!-- Aggiungi glossario --{amp}gt; {amp}lt;li class="nav-item"{amp}gt; {amp}lt;a class="nav-link" href="{% url 'aggiungi_glossario' %}"{amp}gt;Aggiungi terminologia in massa{amp}lt;/a{amp}gt; {amp}lt;/li{amp}gt; {amp}lt;/ul{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;/nav{amp}gt; {amp}lt;br/{amp}gt; {amp}lt;!-- SEZIONE MESSAGGI --{amp}gt; {% if messages %} {% for message in messages %} {% if insert_attempt_output == "errato" %} {amp}lt;!-- form compilato in modo NON valido - messaggio rosso --{amp}gt; {amp}lt;div class="alert alert-danger" role="alert"{amp}gt; {amp}lt;button class="close" data-dismiss="alert"{amp}gt; {amp}lt;small{amp}gt;{amp}lt;sup{amp}gt;[X]{amp}lt;/sup{amp}gt;{amp}lt;/small{amp}gt; {amp}lt;/button{amp}gt; {{message}} {amp}lt;/div{amp}gt; {% else %} {amp}lt;!-- form compilato in modo valido - messaggio verde --{amp}gt; {amp}lt;div class="alert alert-success" role="alert"{amp}gt; {amp}lt;button class="close" data-dismiss="alert"{amp}gt; {amp}lt;small{amp}gt;{amp}lt;sup{amp}gt;[X]{amp}lt;/sup{amp}gt;{amp}lt;/small{amp}gt; {amp}lt;/button{amp}gt; {{message}} {amp}lt;/div{amp}gt; {% endif %} {% endfor %} {% endif %} {amp}lt;br{amp}gt; {amp}lt;!-- formattazione del body --{amp}gt; {amp}lt;div class="container"{amp}gt; {% block content %} {% endblock %} {amp}lt;/div{amp}gt; {amp}lt;script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X 965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH 8abtTE1Pi6jizo" crossorigin="anonymous"{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM B07jRM" crossorigin="anonymous"{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;!-- css --{amp}gt; {amp}lt;link rel="stylesheet" type="text/css" href={% static "css/top_navbar_style.css" %}{amp}gt; {amp}lt;/body{amp}gt; {amp}lt;/html{amp}gt; 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector