[PYTHON / JS]

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod DanHen 16. 8. 2019 11:05

zdravim,
mam viac projektov v pythone, ktore bezia na rovnakom serveri, na roznych portoch. tieto projekty vsak pouzivaju rovnake subory, napriklad jquery.js. chcel by som ich vynat a mat v jednom spolocnom adresari. nijakym sposobom mi to vsak nejde :( Pouzivam flask.
struktura projektov by mala vyzerat takto:

Kód: Vybrat vše
FOLDER C:\WORK

* static                 tento je vo foldri c:\work
*      css
*      images
*      js

* projekt 1              tento je vo foldri c:\work\project1
*      static
*          css
*          images
*          js
*      templates
*          potrebne templates
*      py moduly

* projekt 2               tento je vo foldri c:\work\project2
*      static
*          css
*          images
*          js
*      templates
*          potrebne templates
*      py moduly


potreboval by som, aby projekt 1 a aj projekt 2 pouzil js, ktore je v c:\work\static\js.
nijakym sposobom mi to nejde :(
dostavam rozne chybove hlasky.
Kód: Vybrat vše
- pokus 1: pouzil som syntax v html takto: (vsimnite si ../../ - to by malo povedat serveru., aby hladal pozadovany file o dva levely vyssie)
      <script src="../../static/js/jquery-3.4.1.min.js"></script
      v browser console som dostal hlasku: GET http://localhost:5210/static/js/jquery-3.4.1.min.js net::ERR_ABORTED

Kód: Vybrat vše
- pokus 2: skusil som to z flasku zavolat takto:
      return render_template(login.html, "SCRIPT_PATH="c:/work/")
      v html som to mal takto:
      <script src="{{SCRIPT_PATH}}/static//js//jquery-3.4.1.min.js"></script>
      v browser console som dostal hlasku: Not allowed to load local resource: file:///C://work//static//js//jquery-3.4.1.min.js

v obidvoch pokusoch som skusal dat dva backslashe za sebou, jeden, alebo normalne slashe, tiez jeden, alebo dva.
podla toho, ako vyzera hlaska z pokusu 1 je zjavne (tak mi to pripadne), ze 'root' servera je folder, z ktoreho sa spusti spustaci modul, a nevie ist 'mimo' tohto foldra, resp. o folder vyssie.
takisto namiesto {{SCRIPT_PATH}} som skusil pouzit url_for(static). to samozrjeme tiez nejde, kedze to includne static, ktory je vo foldri project1, a to nie je dobre.

ide mi o to, ze mam vela projektov, ktore pouzivaju jquery, bootstrap, socket.io a vela dalsich inych scriptov, plus css subory (bootstrap.min.css) atd .... vsetky tieto subory su rovnake pre vsetky projekty. chcem sa vyhnut tomu, aby:
- som mal bud vsetky projekty v jednom foldri (brutalny zmatok)
- som musel mat vsetky css a js subory v kazdom projekte. to nechcem, kedze su rovnake, chcem ich pouzit len raz.
generalizovana otazka: akym sposobom prinutim template, ktory je vo foldri c:\work\project1\templates, aby akceptoval js script, ktory je vo foldri c:\work\static?
jedine, co ma napadlo, ale este som to neskusal, je spravit osobitny server, ktory by nerobil nic, len servoval tieto subory.

dik moc.
jedine smrt ve svete nespecha,
prichazi pomalu a v klidu
                                (kryptor)
http://danhen.lordcyber.net/
DanHen
Junior
Uživatelský avatar

Odeslat příspěvekod DanHen 19. 8. 2019 07:03

OK, tak som to vyriesil, aj ked dost lamersky (asi). jednoducho som postavil dalsi server, ktory servuje vsetky pozadovane subory pre vsetky moduly. funguje to, ale moc sa mi to riesenie nepaci. keby nahodou mal niekto nejake ine riesenie, sem s nim...

dik za pripadny support :)
jedine smrt ve svete nespecha,
prichazi pomalu a v klidu
                                (kryptor)
http://danhen.lordcyber.net/
DanHen
Junior
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků