<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SOASI &#187; django</title>
	<atom:link href="http://www.soasi.com/cat/django/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.soasi.com</link>
	<description>Sviluppo Software e Sistemi Open Source a Forlì</description>
	<lastBuildDate>Wed, 25 Jan 2012 15:06:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Software per la gestione di flotte aziendali</title>
		<link>http://www.soasi.com/2010/07/software-per-la-gestione-di-flotte-aziendali/</link>
		<comments>http://www.soasi.com/2010/07/software-per-la-gestione-di-flotte-aziendali/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 18:19:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sviluppo Software]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[aggiornamento]]></category>
		<category><![CDATA[clienti]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[fleet management]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[gestione flotte]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[software personalizzato]]></category>
		<category><![CDATA[software prenotazioni]]></category>

		<guid isPermaLink="false">http://www.soasi.com/?p=561</guid>
		<description><![CDATA[Uno dei nostri ultimi progetti su framework Django consiste nella realizzazione di un sistema per la gestione di flotte aziendali. Gli utenti si registrano attraverso una schermata dove inseriscono i loro dati, dove inseriscono una email valida sulla quale riceveranno un link di conferma. Un amministratore conferma la loro iscrizione, abilitandoli così al servizio di [...]]]></description>
			<content:encoded><![CDATA[<p>Uno dei nostri ultimi progetti su framework Django consiste nella realizzazione di un sistema per la gestione di flotte aziendali.<br />
Gli utenti si registrano attraverso una schermata dove inseriscono i loro dati, dove inseriscono una email valida sulla quale riceveranno un link di conferma. </p>
<p>Un amministratore conferma la loro iscrizione, abilitandoli così al servizio di prenotazione dei veicoli.</p>
<p>Attraverso un motore di ricerca che fa uso di Ajax per l&#8217;aggiornamento dei select, filtrando l&#8217;elenco delle sedi scelte per zone e province, ed inserendo la data di ritiro e di consegna, l&#8217;utente riceve l&#8217;elenco dei veicoli disponibili (cioè non in uso e non in manutenzione).</p>
<p>Confermando le proprie scelte in 3 semplici passaggi, all&#8217;utente viene presentato un file pdf autogenerato da firmare e consegnare al deposito, con i dati relativi allo stato dell&#8217;auto (come il chilometraggio), e l&#8217;anagrafica di utente e veicolo.<span id="more-561"></span></p>
<p>Le officine hanno a disposizione una schermata per la gestione delle manutenzioni ed il controllo dello stato dei mezzi, ed una timeline che visualizza l&#8217;elenco degli interventi per una più precisa analisi dei costi relativi ai singoli veicoli.</p>
<p>L&#8217;uso di django ci ha permesso da un lato una estrema flessibilità, e dall&#8217;altro la semplicità di fornire personalizzazioni spinte dell&#8217;architettura, adattabili alle diverse esigenze dei clienti.</p>
<p>Guarda la galleria degli screenshot:<br />

<a href='' title='fleet_management'><img width="150" height="85" src="http://www.soasi.com/wp-content/uploads/2010/07/fleet_management-150x85.jpg" class="attachment-thumbnail" alt="fleet management 150x85 Software per la gestione di flotte aziendali" title="fleet_management" /></a>
<a href='' title='fleet_management2'><img width="150" height="82" src="http://www.soasi.com/wp-content/uploads/2010/07/fleet_management2-150x82.jpg" class="attachment-thumbnail" alt="fleet management2 150x82 Software per la gestione di flotte aziendali" title="fleet_management2" /></a>
<a href='' title='fleet_management3'><img width="150" height="89" src="http://www.soasi.com/wp-content/uploads/2010/07/fleet_management3-150x89.jpg" class="attachment-thumbnail" alt="fleet management3 150x89 Software per la gestione di flotte aziendali" title="fleet_management3" /></a>
<a href='' title='fleet_management4'><img width="150" height="113" src="http://www.soasi.com/wp-content/uploads/2010/07/fleet_management4-150x113.jpg" class="attachment-thumbnail" alt="fleet management4 150x113 Software per la gestione di flotte aziendali" title="fleet_management4" /></a>
<a href='' title='fleet_management5'><img width="150" height="58" src="http://www.soasi.com/wp-content/uploads/2010/07/fleet_management5-150x58.jpg" class="attachment-thumbnail" alt="fleet management5 150x58 Software per la gestione di flotte aziendali" title="fleet_management5" /></a>
<a href='' title='fleet_management6'><img width="150" height="58" src="http://www.soasi.com/wp-content/uploads/2010/07/fleet_management6-150x58.jpg" class="attachment-thumbnail" alt="fleet management6 150x58 Software per la gestione di flotte aziendali" title="fleet_management6" /></a>
<a href='' title='fleet_management7'><img width="114" height="150" src="http://www.soasi.com/wp-content/uploads/2010/07/fleet_management7-114x150.jpg" class="attachment-thumbnail" alt="fleet management7 114x150 Software per la gestione di flotte aziendali" title="fleet_management7" /></a>
<a href='' title='fleet_management8'><img width="150" height="65" src="http://www.soasi.com/wp-content/uploads/2010/07/fleet_management8-150x65.jpg" class="attachment-thumbnail" alt="fleet management8 150x65 Software per la gestione di flotte aziendali" title="fleet_management8" /></a>
<a href='' title='fleet_management9'><img width="150" height="72" src="http://www.soasi.com/wp-content/uploads/2010/07/fleet_management9-150x72.jpg" class="attachment-thumbnail" alt="fleet management9 150x72 Software per la gestione di flotte aziendali" title="fleet_management9" /></a>
<a href='' title='fleet_management10'><img width="150" height="72" src="http://www.soasi.com/wp-content/uploads/2010/07/fleet_management10-150x72.jpg" class="attachment-thumbnail" alt="fleet management10 150x72 Software per la gestione di flotte aziendali" title="fleet_management10" /></a>
<a href='' title='fleet_management11'><img width="143" height="150" src="http://www.soasi.com/wp-content/uploads/2010/07/fleet_management11-143x150.jpg" class="attachment-thumbnail" alt="fleet management11 143x150 Software per la gestione di flotte aziendali" title="fleet_management11" /></a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.soasi.com/2010/07/software-per-la-gestione-di-flotte-aziendali/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: Make RML templates from Openoffice.org ODT files</title>
		<link>http://www.soasi.com/2009/12/make-rml-templates-from-openoffice-org-odt-files/</link>
		<comments>http://www.soasi.com/2009/12/make-rml-templates-from-openoffice-org-odt-files/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 10:10:02 +0000</pubDate>
		<dc:creator>SOASI</dc:creator>
				<category><![CDATA[E-Commerce]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[markup language]]></category>
		<category><![CDATA[odt files]]></category>
		<category><![CDATA[openoffice]]></category>
		<category><![CDATA[packing slip]]></category>
		<category><![CDATA[page dimensions]]></category>
		<category><![CDATA[placeholders]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rml]]></category>
		<category><![CDATA[Satchmo]]></category>
		<category><![CDATA[shipping labels]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[xml format]]></category>

		<guid isPermaLink="false">http://www.soasi.com/?p=499</guid>
		<description><![CDATA[Report Markup Language (RML) is the ReportLAB and Open ERP format for pdf reports. It&#8217;s an XML format and it can be easy generated from web application, such as Django. Satchmo uses rml templates for shipping labels, invoices and packing slip. One way to generate those templates it to write by hand the XML, with [...]]]></description>
			<content:encoded><![CDATA[<p>Report Markup Language (<strong>RML</strong>) is the ReportLAB and Open ERP format for pdf reports. It&#8217;s an XML format and it can be easy generated from web application, such as Django. <strong>Satchmo</strong> uses rml templates for shipping labels, invoices and packing slip.</p>
<p>One way to generate those templates it to write by hand the XML, with some difficult actions needed to generate tables and complex items.</p>
<p>Another easy way is to use OpenOffice.org to make the template.<span id="more-499"></span><br />
The procedure is quite simple and we&#8217;ll explain it here.</p>
<p>First of all, generate a text odt document. If you use tables, make sure to have the same number of column for every rows. If you need a more complicated table, split it in different tables or good results will be difficult to achieve.</p>
<p>Format the page dimensions with openoffice, it will be the same on pdf.</p>
<p>In your template you must be sure to put also the text you will change, to format it to your needs. To use it in a django app, you can use the django template system placeholders like {{name}} or {{address}}.</p>
<p>Then, save it and use Tiny <a href="http://dev.communesplone.org/trac/browser/communesplone/openerp/training/training/report/tiny_sxw2rml?rev=3486"target="_blank" rel="nofollow" >SXW2RML</a> to transform it to RML. </p>
<p><code>./tiny_sxw2rml.py template.odt > template.rml</code></p>
<p>You can use python-trml2pdf to see the results:<br />
<code>apt-get install python-trml2pdf</code></p>
<p>and then<br />
<code>trml2pdf template.rml > template.pdf</code></p>
<p>If it&#8217;s good, you can simply replace placeholders with the text of your report (or packing slip, as we&#8217;ve done) and then generate your pdf. Using them on django apps makes RML a very good choice to generate automatically documents from databases and web apps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.soasi.com/2009/12/make-rml-templates-from-openoffice-org-odt-files/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Online la traduzione italiana di Django-CMS by SOASI!</title>
		<link>http://www.soasi.com/2009/08/traduzione-italiana-django-cms/</link>
		<comments>http://www.soasi.com/2009/08/traduzione-italiana-django-cms/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 10:12:58 +0000</pubDate>
		<dc:creator>SOASI</dc:creator>
				<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[applicazioni]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Soasi]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.soasi.com/?p=436</guid>
		<description><![CDATA[SOASI ha tradotto in Italiano il software django-cms, l&#8217;applicazione studiata per il famoso framework in Python che permette di gestire con estrema semplicità contenuti standard per un sito web, da affiancare alle applicazioni specifiche che giustificano l&#8217;utilizzo di Django. Potete scaricare i file della traduzione direttamente sul nostro repository github, in attesa che il team [...]]]></description>
			<content:encoded><![CDATA[<p>SOASI ha tradotto in Italiano il software django-cms, l&#8217;applicazione studiata per il famoso framework in Python che permette di gestire con estrema semplicità contenuti standard per un sito web, da affiancare alle applicazioni specifiche che giustificano l&#8217;utilizzo di Django.</p>
<p>Potete scaricare i file della traduzione direttamente sul <a href="http://github.com/aronchi/django-cms-2.0/tree/64b84d83cfa85ae3bfca36d3ba4f448757d8b6ae/cms/locale/it/LC_MESSAGES" rel="nofollow" >nostro repository github</a>, in attesa che il team di sviluppatori includa la patch nella branca principale di django-cms:</p>
<p><a href="http://github.com/aronchi/django-cms-2.0/tree/64b84d83cfa85ae3bfca36d3ba4f448757d8b6ae/cms/locale/it/LC_MESSAGES" rel="nofollow" >Scarica la traduzione italiana di django-cms</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.soasi.com/2009/08/traduzione-italiana-django-cms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rilasciato Django 1.1</title>
		<link>http://www.soasi.com/2009/07/rilasciato-django-1-1/</link>
		<comments>http://www.soasi.com/2009/07/rilasciato-django-1-1/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 13:40:38 +0000</pubDate>
		<dc:creator>SOASI</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sviluppo]]></category>

		<guid isPermaLink="false">http://www.soasi.com/?p=415</guid>
		<description><![CDATA[Dopo circa un anno di sviluppo, molte nuove funzionalità e migliaia di altre migliorie, Django 1.1 è finalmente disponibile. Per un elenco completo delle novità e dei cambiamenti puoi consultare le note di rilascio; Il download di trova nella pagina del progetto. Questa versione è il frutto del duro lavoro di centinaia di persone che [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo circa un anno di sviluppo, molte nuove funzionalità e migliaia di altre migliorie, Django 1.1 è finalmente disponibile.</p>
<p>Per un elenco completo delle novità e dei cambiamenti puoi consultare le <a href="http://docs.djangoproject.com/en/dev/releases/1.1/" rel="nofollow" >note di rilascio</a>; Il download di trova <a href="http://www.djangoproject.com/download/" rel="nofollow" >nella pagina del progetto. </a></p>
<p>Questa versione è il frutto del duro lavoro di centinaia di persone che hanno dato il loro contributo a Django ed hanno speso il loro tempo facendo prove, test e segnalando errori aiutando gli sviluppatori a correggerli ed a sviluppare le nuove funzionalità.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.soasi.com/2009/07/rilasciato-django-1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detector Point, Il negozio online di metal detector ed accessori</title>
		<link>http://www.soasi.com/2008/12/detector-point-il-negozio-online-di-metal-detector-ed-accessori/</link>
		<comments>http://www.soasi.com/2008/12/detector-point-il-negozio-online-di-metal-detector-ed-accessori/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 17:02:28 +0000</pubDate>
		<dc:creator>SOASI</dc:creator>
				<category><![CDATA[E-Commerce]]></category>
		<category><![CDATA[Satchmo]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.soasi.com/?p=285</guid>
		<description><![CDATA[E&#8217; finalmente online il nuovo e-commerce dedicato al Mondo dei metaldetector e degli accessori per la ricerca dei metalli e preziosi. E&#8217; stato realizzato con Satchmo e Django, per il quale SOASI ha già rilasciato alla comunità la traduzione italiana. Il sistema centrale dei pagamenti è basato su Paypal express Checkout, per il quale abbiamo [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.detectorpoint.com" rel="nofollow" ><img class="alignnone size-medium wp-image-286" title="detector_point_e-commerce_metal_detectors" src="http://www.soasi.com/wp-content/uploads/2008/12/detector_point_e-commerce_metal_detectors-249x300.png" alt="detector point e commerce metal detectors 249x300 Detector Point, Il negozio online di metal detector ed accessori" width="249" height="300" /></a>E&#8217; finalmente online il nuovo e-commerce dedicato al Mondo dei metaldetector e degli accessori per la ricerca dei metalli e preziosi.</p>
<p>E&#8217; stato realizzato con Satchmo e Django, per il quale SOASI ha già rilasciato alla comunità la traduzione italiana. Il sistema centrale dei pagamenti è basato su Paypal express Checkout, per il quale abbiamo realizzato una libreria Python apposita.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.soasi.com/2008/12/detector-point-il-negozio-online-di-metal-detector-ed-accessori/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filtrare gli oggetti visti dallo staff nell&#8217;admin di Django</title>
		<link>http://www.soasi.com/2008/09/filtrare-gli-oggetti-visti-dallo-staff-admin-di-django/</link>
		<comments>http://www.soasi.com/2008/09/filtrare-gli-oggetti-visti-dallo-staff-admin-di-django/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 07:25:06 +0000</pubDate>
		<dc:creator>SOASI</dc:creator>
				<category><![CDATA[django]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[filtrare]]></category>
		<category><![CDATA[oggetti]]></category>
		<category><![CDATA[superuser]]></category>
		<category><![CDATA[superutente]]></category>

		<guid isPermaLink="false">http://www.soasi.com/?p=260</guid>
		<description><![CDATA[Uno dei vantaggi dell&#8217;utilizzo di Django risiede nella possibilità di avere una interfaccia di amministrazione dei modelli praticamente già pronta. Nel caso si abbiano più amministratori del portale si può però voler filtrare gli oggetti modificabili e visualizzabili dallo staff, a seconda dell&#8217;utente. Nel caso di un portale di notizie, ad esempio, può essere necessario [...]]]></description>
			<content:encoded><![CDATA[<p>Uno dei vantaggi dell&#8217;utilizzo di Django risiede nella possibilità di avere una interfaccia di amministrazione dei modelli praticamente già pronta.</p>
<p>Nel caso si abbiano più amministratori del portale si può però voler filtrare gli oggetti modificabili e visualizzabili dallo staff, a seconda dell&#8217;utente. Nel caso di un portale di notizie, ad esempio, può essere necessario filtrare l&#8217;elenco degli articoli mostrando solo quelli il cui autore è l&#8217;utente loggato, e dare solo al super amministratore la possibilità di vedere tutto.</p>
<p>In django 1.0 ci viene in aiuto la classe admin del nostro modello.<span id="more-260"></span></p>
<pre class="brush: python; title: ;">
class SchedaOptions(admin.ModelAdmin):
    def has_change_permission(self, request, obj=None):
        if obj and request.user == obj.referente: # (1)
            return super(SchedaOptions, self).has_change_permission(request, obj)
        elif obj is None or request.user.is_superuser:
            return True
        else:
            return False

    def queryset(self, request):
       # Limit the queryset to some subset based on the value of user.
       qs = super(SchedaOptions,self).queryset(request)
       utente = request.user
       if utente.is_superuser:
           return qs
       else:
           return qs.filter(referente=utente) # (2)
</pre>
<p>In questo esempio solo il referente di una scheda (referente == request.user) può modificare (vedi riga contrassegnata (1), ed il set di oggetti visualizzato (queryset) dall&#8217;admin è filtrato con la riga (2).</p>
<p>Una volta salvato provate a loggarvi con il superutente: nulla sarà cambiato (ed è bene che sia così nel 99% dei casi). Entrando con un utente staff, invece, vedrete solo gli oggetti che avete la possibilità di modificare.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.soasi.com/2008/09/filtrare-gli-oggetti-visti-dallo-staff-admin-di-django/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Installare Django su Dreamhost utilizzando passenger (mod_rails)</title>
		<link>http://www.soasi.com/2008/09/installare-django-su-dreamhost-utilizzando-passenger-mod_rails/</link>
		<comments>http://www.soasi.com/2008/09/installare-django-su-dreamhost-utilizzando-passenger-mod_rails/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 00:01:15 +0000</pubDate>
		<dc:creator>SOASI</dc:creator>
				<category><![CDATA[django]]></category>
		<category><![CDATA[dreamhost]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sviluppo]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.soasi.com/?p=253</guid>
		<description><![CDATA[In questo articolo spieghiamo come installare Django (nelle prove è stata utilizzata la versione 1.0) su Dreamhost attraverso il supporto a passenger (chiamato anche mod_rails). Le ragioni di una configurazione simile sono diverse, ma le principali sono la maggiore velocità di passenger ed un uso meno intensivo delle risorse di sistema, che portano meno errori [...]]]></description>
			<content:encoded><![CDATA[<p>In questo articolo spieghiamo come installare Django (nelle prove è stata utilizzata la versione 1.0) su <strong>Dreamhost</strong> attraverso il supporto a passenger (chiamato anche mod_rails).<br />
Le ragioni di una configurazione simile sono diverse, ma le principali sono la maggiore velocità di passenger ed un uso meno intensivo delle risorse di sistema, che portano meno errori 500 causati dalla mancata produzione delle pagine entro il timeout. Inoltre questa configurazione è più semplice e più lineare (tutto risiede in una unica cartella) e quindi procura meno problemi nel deploy delle applicazioni django.<span id="more-253"></span></p>
<p>Nel pannello di Dreamhost  -&gt; Domains -&gt; Manage Domains dovete cliccare sul dominio che volete utilizzare per la vostra applicazione django (nell&#8217;esempio sarà domain.com), ed attivare l&#8217;opzione <em>&#8220;Ruby on Rails Passenger (mod_rails)&#8221; </em> <strong>NB</strong>: questa impostazione cambia la modalità con la quale Apache pubblica le pagine ed i file, quindi dovete assicurarvi di settare questa opzione solo per il dominio o il sottodominio nel quale installerete il progetto Django.</p>
<p>SUl server entrate nella directory /home/user/domain.com e create la sottodirectory &#8220;public&#8221;:</p>
<p><code>cd /home/user/domain.com &amp;&amp; mkdir public</code></p>
<p>Tutto quello che risiede in questa directory verrà pubblicato da Apache direttamente, a meno che lo stesso URL non venga intercettato dalle impostazioni degli URL del progetto django .</p>
<p>Ad esempio, se aggiungiamo un file robots.txt dentro /home/user/domain.com/public/ la sua URL sarà www.domain.com/robots.txt, e verrà visualizzato a meno che non sia presente una espressione regolare simile a &#8216;^robots.txt$&#8217; nel file urls.py di django.</p>
<p>Scaricate il sorgente di django source e decomprimete la cartella django al suo interno nella directory /home/user/domain.com/django. Per assicurarvi di aver scelto correttamente le directory, controllate di avere la sottodirectory /home/user/domain.com/django/core .</p>
<p>Se avete bisogno di alcune librerie python esterne a django ed al vostro progetto, inseritele in  /home/user/domain.com/libraries/. Metteremo questa directory nel PYTHONPATH per fare in modo che siano correttamente separate dal resto, rendendo più facili gli aggiornamenti.</p>
<p>Caricate il progetto su <em>/home/user/domain.com/myproject</em>. Se non ne avete ancora uno, potete creare lo scheletro con il comando</p>
<p><code>cd /home/user/domain.com/<br />
/home/user/domain.com/django/bin/django-admin.py startproject myproject</code></p>
<p>Non avrete bisogno di nessun file .htaccess, perché la confugurazione di passenger funzionerà anche senza, trovando file e url dinamiche senza il nostro intervento.</p>
<p>A questo punto creato un file chiamato passenger_wsgi.py dentro /home/user/domain.com/:</p>
<p><code>vim /home/user/domain.com/passenger_wsgi.py</code></p>
<p>Con questo contenuto:</p>
<p><code><br />
import sys,os<br />
INTERP = "/usr/bin/python2.4"<br />
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)<br />
sys.path.append("/home/user/domain.com/")<br />
sys.path.append("/home/user/domain.com/libraries")<br />
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'<br />
import django.core.handlers.wsgi<br />
application = django.core.handlers.wsgi.WSGIHandler()<br />
</code></p>
<p>Dentro  /home/user/domain.com/myproject/settings.py controllate le seguenti impostazioni:<br />
<code>MEDIA_ROOT = '/home/user/domain.com/public/media/'<br />
MEDIA_URL = 'http://www.domain.com/media/'<br />
ADMIN_MEDIA_PREFIX = '/admin_media/'<br />
</code></p>
<p>Come potete vedere, la stringa/directory, &#8220;<strong>public</strong>&#8221; viene  <strong>mangiata</strong> da passenger, quindi è consigliabile creare una sottodirectory &#8220;media&#8221; per assicurarci che gli URL dei file statici non vengano oscurati dalle impostazioni del vostro urls.py</p>
<p>Se utilizzate l&#8217;admin create un link simbolico per i file css e js contenuti in admin_media:<br />
<code>cd /home/user/domain.com/public/<br />
ln -s home/user/domain.com/django/contrib/admin/media/ admin_media </code></p>
<p>E&#8217; tutto, ed è molto più semplice di quanto sembri. Una volta creato il progetto sarà molto facile aggiornarlo ed apportarvi modifiche, grazie alla corretta separazione nel deploy dell&#8217;applicazione dei file statici, di django, del progetto e delle librerie python.</p>
<p>Dopo ogni modifica al codice, se volete controllarlo potete eseguire un<br />
<code>pkill python</code><br />
che obbligherà il server a ricopilare e ricaricare i file python (con un piccolo prezzo in termini di tempo, necessario al primo avvio).</p>
<p>Potete approfondire questo tema su:<br />
<a href="http://wiki.dreamhost.com/Passenger_WSGI"rel="nofollow" >Passenger WSGI</a><br />
<a href="http://wiki.dreamhost.com/Passenger"rel="nofollow" >Dreamhost Passenger</a><br />
<a href="http://wiki.dreamhost.com/Django"rel="nofollow" >Django on Dreamhost with FCGI</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.soasi.com/2008/09/installare-django-su-dreamhost-utilizzando-passenger-mod_rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django 1.0 on Dreamhost with passenger (mod_rails)</title>
		<link>http://www.soasi.com/2008/09/django-10-on-dreamhost-with-passenger-mod_rails/</link>
		<comments>http://www.soasi.com/2008/09/django-10-on-dreamhost-with-passenger-mod_rails/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 19:59:29 +0000</pubDate>
		<dc:creator>SOASI</dc:creator>
				<category><![CDATA[django]]></category>
		<category><![CDATA[dreamhost]]></category>
		<category><![CDATA[mod_rails]]></category>
		<category><![CDATA[passenger]]></category>

		<guid isPermaLink="false">http://www.soasi.com/?p=250</guid>
		<description><![CDATA[In this article I will describe how to set up a Django 1.0 configuration on Dreamhost and other shared web hosting supporting passenger (also called mod_rails). There are many reason to create a such configuration: passenger is faster than fcgi and it brings less 500 errors when the server is busy. It&#8217;s also simpler to [...]]]></description>
			<content:encoded><![CDATA[<p>In this article I will describe how to set up a <strong>Django 1.0</strong> configuration on <strong>Dreamhost</strong> and other shared web hosting supporting passenger (also called mod_rails). There are many reason to create a such configuration: <strong>passenger</strong> is faster than fcgi and it brings less 500 errors when the server is busy. It&#8217;s  also simpler to set up, and It&#8217;s easier to get out without any problems.<span id="more-250"></span></p>
<p>In Dreamhost panel -&gt; Domains -&gt; Manage Domains click on the domain you want to put your app on (in the example we will set domain.com), and activate  <em>&#8220;Ruby on Rails Passenger (mod_rails)&#8221; </em>option. <strong>Pay attention</strong>: it change the way it serves files on that domains, so be sure to set this option only on the domain or subdomain you want to use with django.</p>
<p>On the server side, enter on /home/user/domain.com and create a &#8220;public&#8221; subdir:</p>
<p><code>cd /home/user/domain.com &amp;&amp; mkdir public</code></p>
<p>Everything inside this dir will be served on the root web URL, after checking if there&#8217;s any django url matching it.</p>
<p>So, if you add a robots.txt inside /home/user/domain.com/public/ the url will be www.domain.com/robots.txt if there&#8217;s no &#8216;^robots.txt$&#8217; or similar match in your urls.py django file.</p>
<p>Download django source code and unzip the django dir inside on /home/user/domain.com/django. To make sure you have done correctly check if you have /home/user/domain.com/django/core directory.</p>
<p>If you need some other python libraries, put them into  /home/user/domain.com/libraries/. We will put this dir on the PYTHONPATH to collect them in a separate directory outside django and your project.</p>
<p>Upload your project on <em>/home/user/domain.com/myproject</em>. If you don&#8217;t have already one, you can create it calling</p>
<p><code>cd /home/user/domain.com/<br />
/home/user/domain.com/django/bin/django-admin.py startproject myproject</code></p>
<p>You don&#8217;t need any htaccess file, because passenger knows already where to find things.</p>
<p>Create a file called passenger_wsgi.py inside /home/user/domain.com/:</p>
<p><code>vim /home/user/domain.com/passenger_wsgi.py</code></p>
<p>With this content:</p>
<p><code><br />
import sys,os<br />
INTERP = "/usr/bin/python2.4"<br />
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)<br />
sys.path.append("/home/user/domain.com/")<br />
sys.path.append("/home/user/domain.com/libraries")<br />
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'<br />
import django.core.handlers.wsgi<br />
application = django.core.handlers.wsgi.WSGIHandler()<br />
</code></p>
<p>On  /home/user/domain.com/myproject/settings.py file check  settings:<br />
<code>MEDIA_ROOT = '/home/user/domain.com/public/media/'<br />
MEDIA_URL = 'http://www.domain.com/media/'<br />
ADMIN_MEDIA_PREFIX = '/admin_media/'<br />
</code></p>
<p>As you can see, &#8220;<strong>public</strong>&#8221; is <strong>eaten</strong> by passenger, so it&#8217;s useful to create a subdir to be sure the URL of files will not conflict with urls.py settings.</p>
<p>Create a symbolic link for admin_media:<br />
<code>cd /home/user/domain.com/public/<br />
ln -s home/user/domain.com/django/contrib/admin/media/ admin_media </code></p>
<p>That&#8217;s all. It&#8217;s simpler than it seems. To reload a modify setting or python file, simply do</p>
<p><code>pkill python</code></p>
<p>Read also:<br />
<a href="http://wiki.dreamhost.com/Passenger_WSGI"rel="nofollow" >Passenger WSGI</a><br />
<a href="http://wiki.dreamhost.com/Passenger"rel="nofollow" >Dreamhost Passenger</a><br />
<a href="http://wiki.dreamhost.com/Django"rel="nofollow" >Django on Dreamhost with FCGI</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.soasi.com/2008/09/django-10-on-dreamhost-with-passenger-mod_rails/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>E&#8217; uscito django 1.0</title>
		<link>http://www.soasi.com/2008/09/e-uscito-django-10/</link>
		<comments>http://www.soasi.com/2008/09/e-uscito-django-10/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 06:41:15 +0000</pubDate>
		<dc:creator>SOASI</dc:creator>
				<category><![CDATA[django]]></category>
		<category><![CDATA[applicazioni]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.soasi.com/?p=248</guid>
		<description><![CDATA[L&#8217;annuncio nella pagina ufficiale di questo popolare framework per lo sviluppo web in python parla di 3 anni di lavoro, 4000 commit di codice, 2000 bug fixati nelle varie versioni, 350&#8217;000 linee di codice aggiunte o rimosse. Si tratta del rilascio più importante dalla nascita di questo framework web per perferzionisti con scadenze, come viene [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.djangoproject.com/weblog/2008/sep/03/1/" rel="nofollow" >L&#8217;annuncio nella pagina ufficiale</a> di questo popolare framework per lo sviluppo web in python parla di 3 anni di lavoro, 4000 commit di codice, 2000 bug fixati nelle varie versioni, 350&#8217;000 linee di codice aggiunte o rimosse.</p>
<p>Si tratta del rilascio più importante dalla nascita di questo framework web per perferzionisti con scadenze, come viene definito dagli autori.</p>
<p>SOASI lo utilizza per un buon numero di progetti, come <a href="http://www.animalisenzacasa.org" rel="nofollow" >www.animalisenzacasa.org</a>, ed i prossimi in arrivo si baseranno sul codice presente nella versione 1.0</p>
]]></content:encoded>
			<wfw:commentRss>http://www.soasi.com/2008/09/e-uscito-django-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

