Javascript внутри шаблона Django

#javascript #arrays #django #django-templates #javascript-objects

#javascript #массивы #django #django-шаблоны #javascript-объекты

Вопрос:

Я использую JS внутри шаблона Django, но JS-код не отвечает. Что делать?

Этот тег внутри <script> :

  var pageStrucVal = {{ pagestruc }};
        if (pageStrucVal >= 82){
            var pageWarn = ["Brilliant, your site's structure and design is awesome and rocking. <gold>RockingStructure</gold>", 'pp']
        }
            
        else if ( pageStrucVal >= 72){
            var pageWarn = ["Nice, your site's structure and design is suitable", 'pp']
            }
            
        else if ( pageStrucVal < 45){
            pageWarn = ["Extremely bad condition, your site's structure and design is extremely bad and unmanaged. Strictly to use a different theme or change the interface (UI). <red>#ExtremelyBad</red>", 'dd'];
            }
        else if ( pageStrucVal < 50){
            pageWarn = ["Worst conditon, the content quality of your site is too much poor. Use a well-managed theme or change the interface (UI).<orange>#ReallyPoor</orange>", 'dd'];
            }
        
        else if ( pageStrucVal < 55){
            pageWarn = ["Too much bad, your site's structure and design is too much bad and unmanaged. Try to use a different theme or change the interface (UI).<orange>#VeryPoor", 'dd'];
            }
        
        else if ( pageStrucVal < 63){
            pageWarn = ["Very bad, your site's structure and design is very unmanaged. You can try to use a different theme or change the interface (UI).<orange>#MuchBad</orange>", 'dd'];
            }
        
        else if ( pageStrucVal < 72){
            pageWarn = ["Bad, your site's structure and design isn't suitable. Small change in the interface (UI) is required.<green> #TendsToBad</green>", 'dd'];
            }
        console.log(pageWarn);
        document.getElementById(pageWarn[1]).appendChild(document.createElement('p')).innerHTML = (pageWarn[0]);
    
  

document.getElementById(pageWarn[1]).appendChild(document.createElement('p')).innerHTML = (pageWarn[0]); Правильно написано и находится в правильном положении?

Вот HTML:

 <div class='plusNdefects' id='moredetails'>
            <h1>Good Aspects and Plus Points.</h1>
            <p class='details'>Here are some awesome good aspects and benefits you have in your site to get Google Adsense.</p>
        
            <!-- Ads ::> -->
            {% include "ads/outads.html" %}
            <!-- Ads <:: -->
        
            <div class='persona'>
                <div id='pp'> </div>
            </div>
        </div>
        
        <div class='plusNdefects'>
            <h1>Disabilities and Improvements.</h1>
            <p class='details'>These are some disabilities of your website that are stopping you from being approved by Google
                Adsense.</p>
        
            <!-- Ads ::> -->
            {% include "ads/outads.html" %}
            <!-- Ads <:: -->
        
            <div class='persona'>
                <div id='dd'></div>
            </div>
  

‘pp’ и ‘dd’ — это идентификатор (местоположение), куда я хочу вставить сообщения. ‘pp’ означает точку плюса, а ‘dd’ означает дефекты.

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

1. Что вы имеете в виду, не отвечая? Не могли бы вы, пожалуйста, пояснить, что вы пытаетесь сделать?

2. Это не дает никакого результата. Последний элемент массива pageWarn[1] — это идентификатор div тега, и я хочу вставить сообщение внутри этого div тега, который имеет индекс 0, т.е. pageWarn[0] .

3. Не могли бы вы, пожалуйста, опубликовать свой полный HTML-код?

4. Взгляните, пожалуйста. Я опубликовал это сейчас.

5. Ваши html и javascript выглядят хорошо. Что {{ pagestruc }} возвращается? Вы пробовали заменить {{ pagestruc }} каким-либо другим целочисленным значением?

Ответ №1:

Я думаю, что пользовательские запросы вне тега django — лучшая идея. var pageStrucVal = parseInt('{{ pagestruc }}');

Ответ №2:

попробуйте var pageStrucVal = parseInt({{ pagestruc }}) ;

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

1. Это сработало в соответствии с вашей идеей. var pageStrucVal = parseInt({{ pagestruc }}); это правильный ответ.

2. Означает ли это, что нужно установить зеленую галочку на кнопке. Извините, что я новичок. Если «да», я уже это сделал.

3. Еще одно одолжение от вас. Можете ли вы помочь мне уменьшить длину кода?

4. Извините, я не вижу, где это можно упростить. Однако вы можете использовать JavaScript minifier или какой-либо другой инструмент для его минимизации.