2015-07-22 2 views
1

Я переписываю существующий Java-сайт в Python. После долгих исследований я решил использовать Django и до сих пор добился значительного прогресса в этом проекте.Интеграция Javascript с Django

Я, однако, застреваю, пытаясь использовать некоторые коды с предыдущего веб-сайта. Мне особенно интересно использовать файл scripts.js, который, как представляется, имеет все необходимые функции JavaScript для веб-сайта, но не уверен, как его интегрировать с моим проектом Django.

Могу ли я просто поместить этот файл в свою папку static и обратиться к функциям из отдельных приложений? Если да, то как я могу назвать функции? Должен ли я внести какие-либо изменения в файл, учитывая, что теперь он должен работать с веб-сайтом на основе Python, в отличие от веб-сайта на основе Java?

Я также прикрепляю фрагмент файла scripts.js, чтобы дать вам представление о том, как выглядят функции.

function gatewayGetAllInformation(){ 
    if(controlsLocked) { 
     return; 
    } 
    lockControls(); 
    getFiles(); 
    gatewayGetShifts(); 
    getCatNews(); 
    getDepNews(); 
    getSales(); 
    getPermanentSales(); 
    adminGetUsers(); 
    unlockControls(); 
}; 

function gatewayGetShifts(){ 
    var url = root +"/AjaxResponder?action=getShifts"; 
    var xmlHttp = GetXmlHttpObject(); 
    xmlHttp.onreadystate = function() { 
     if(xmlHttp.readyState == 4) { 
      if(xmlHttp.status == 200) { 
       var shiftsHTML =gatewayParseShifts(xmlHttp.responseXML); 
       setInnerHTML("upcomingShiftsList",shiftsHTML); // added semicolon 
      } 
      else { 
       setInnerHTML("upcomingShiftsList", "Error Getting Users"); 
      } 
     } 
    }; 
    xmlHttp.open("POST", url, true); 
    xmlHttp.send(null); 

Спасибо!

+0

«Java-сайт на Python» Вы имеете в виду, что используете Jython? –

+0

@NoctisSkytower Я имел в виду, что я пишу веб-сайт на Python, основанный на существующем веб-сайте, написанном на Java! Извините, я не объяснил. – Rae

ответ

1

Вы можете поместить ваши JavaScript файлы в статической папке.

<!-- on top of the template file --> 
{% load static %} 

<!-- Where you want to load the javascript file template file --> 
<script type="text/javascript" src="{% static 'path/to/your/file.js' %}"></script> 

path/to/your/file.js это путь относительно папки static.

Вы должны использовать django-compressor, чтобы минимизировать ваши файлы в производственной среде.

Пока маршруты, которые вы определили в приложении Django, те же, что и в приложении Java для вызовов AJAX, вам не нужно менять содержимое вашего файла javascript.

0

Да, вам просто нужно положить script.js в папку /static/.

static/ 
    js/ 
    script.js 

В шаблонах вы называете это

... 
<script src={% static 'js/script.js' %}></script> 
... 

И это все, вы можете использовать gatewayGetAllInformation и gatewayGetShifts функции.

Но имейте в виду, обновлять значения константы внутри script.js

Смежные вопросы