Díky moc za nápady.

Metodu volám s jednoduchým modelovým vstupem totožným v obou případech.
Vypsal jsem si v místě volání locals() a globals() (ne do hloubky). Jediný,
co vidím jako odlišnost je cesta k importovaným balíčkům
/home/ct/www/env/local/lib/python2.7/site-packages/django/db/models/__init__.pyc
(apache) vs.
/home/ct/www/env/lib/python2.7/site-packages/django/db/models/__init__.pyc
(manage.py)
nicméně local je jen link
lrwxrwxrwx 1 ct ct 20 Jun 18 20:52 /home/ct/www/env/local/lib ->
/home/ct/www/env/lib

Apache běží pod jiným uživatelem (WSGIDaemonProcess má ale nastaven atribut
user), je to asi dobrá hypotéza; i když jsem ale dal celýmu obsahu
virtualenvu rwx, je to beze změny. Možná nějaký pracovní soubory, adresáře,
rychle jsem prohlídl, jestli to něco čte (bez úspěchu), ještě to budu muset
prozkoumat víc. Divný je, že to nepíše žádnou chybu, suverénně to vrátí ''.
Je to v principu věc, která z jednoho řetězce udělá jiný bez dalších
externalit.

Dost možná přehlížím něco úplně triviálního, až to najdu, dám vědět.

Ještě jednou díky.


On Mon, Jun 19, 2017 at 8:57 AM Vláďa Macek <ma...@sandbox.cz> wrote:

> Ahoj,
>
> to jsou nepříjemný problémy. Mimochodem, jakmile to půjde, opravdu upgraduj
> Django.
>
> Neznám premailer, ale vypadá to, že nemá nic společného s běhovým
> prostředím/middlewary, takže by nemělo na způsobu spuštění záležet.
>
> Odhaduju, že bude mít jiné vstupy. V obou případech si "vytiskni" vše, co
> leze do konstruktoru třídy Premailer a do té metody a porovnej, budou tam
> rozdíly.
>
> Nezapomeň na objekty v globálních identifikátorech, které mohou taky změnit
> chování. Django settings je taky globální. Filesystém je globální. Ovlivněn
> může být i kód volaný z modulu premailer.py (nebo jím děděný, nebo i z něj
> děděný) a tedy to hned nevidíš.
>
> Vytiskni si i výstupy těsně před oběma returny. Je možné, že jsi se
> přehlédl a problém bude někde jinde. Mozek je mrška a někdy sám sebe
> přesvědčí o nesmyslu.
> (
> http://s2.quickmeme.com/img/fe/fe6a68c7673a3ae9b8856a27ab2ddbe578daedd9755be7cda3182ed8252d3743.jpg
> )
>
> V.
>
>
> On 19.6.2017 07:52, Jan Walter wrote:
> > Ahoj,
> > mám problém, se kterým si nevím moc rady. Spočívá v odlišnosti výsledku
> > volání jedné specifické metody přes Apache mod_wsgi vs. vývojový server
> > via manage.py runserver (nebo i interaktivní shell) v konzoli.
> >
> >  1. Django 1.5.4 (vím, není to soudobé).
> >  2. Volám metodu transform z premailer knihovny
> >     (
> https://github.com/peterbe/premailer/blob/master/premailer/premailer.py#L279
> ).
> >  3. Když to zavolám pomocí manage.py (runserver nebo shell), funguje
> >     naprosto OK - distribuuje styly do elementů vstupního dokumentu.
> >  4. Když ji volám přes Apache, vrací prázdný řetězec, žádná chyba. Stejný
> >     vstup, stejný virtual env.
> >
> > Máte nějakou ideu, co na to může mít vliv, co by mohlo být jinak, resp.
> > co/jak debuggovat? Jsem už trochu bez nápadů.
> >
> > Dík moc za případnou inspiraci,
> > John
>
> --
> --
> E-mailová skupina django-cs@googlegroups.com
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> django-cs ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny,
> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com.
> Chcete-li zobrazit tuto diskusi na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/1e0c244c-708e-3ca0-2c86-df0732efd594%40sandbox.cz
> .
> Další možnosti najdete na adrese https://groups.google.com/d/optout.
>

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CAK-vJU%3DRi0b4--HQX1%3DXxvAKjMDQS9BZDcHjFFxgCqn-t0W9YQ%40mail.gmail.com.
Další možnosti najdete na adrese https://groups.google.com/d/optout.

Reply via email to