<?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>Web Riot Blog &#187; Django</title>
	<atom:link href="http://blog.web-riot.com/category/django/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.web-riot.com</link>
	<description></description>
	<lastBuildDate>Wed, 21 Apr 2010 14:42:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zope su Django Turnkey Appliance</title>
		<link>http://blog.web-riot.com/2009/12/02/zope-su-django-turnkey-appliance/</link>
		<comments>http://blog.web-riot.com/2009/12/02/zope-su-django-turnkey-appliance/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 11:37:38 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[appliance]]></category>
		<category><![CDATA[turnkey]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://blog.web-riot.com/2009/12/02/zope-su-django-turnkey-appliance/</guid>
		<description><![CDATA[Oggi a scopo di test preventivo per un futuro cambio di piattaforma per un nostro cliente, abbiamo affrontato l&#8217;installazione di Zope sulla macchina virtuale Appliance Django Turnkey.Non è assolutamente una impresa titanica, ma voglio prendere nota di alcuni passaggi cruciali.Installazione di Zope:
apt-get install zope2.10
Zope viene installato sulla directory: /usr/lib/Zope2.10/Ora dobbiamo creare l&#8217;instanza di Zope:
 cd  /usr/lib/zope2.10/
 python [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi a scopo di test preventivo per un futuro cambio di piattaforma per un nostro cliente, abbiamo affrontato l&#8217;installazione di Zope sulla macchina virtuale Appliance Django Turnkey.Non è assolutamente una impresa titanica, ma voglio prendere nota di alcuni passaggi cruciali.Installazione di Zope:
<pre>apt-get install zope2.10</pre>
<p>Zope viene installato sulla directory: /usr/lib/Zope2.10/Ora dobbiamo creare l&#8217;instanza di Zope:
<pre> cd  /usr/lib/zope2.10/</pre>
<pre> python bin/mkzopeinstance.py  -d instance -u admin:admin</pre>
<pre> python bin/mkzeoinstance.py zeo $1</pre>
<p>Se tutto va come dovrebbe andare, siamo pronti per avviare Zope:
<pre>instance/bin/zopectl start</pre>
<p>E possiamo puntare il browser alla root della nostra applicazione, o al /manage/ con nome admin, password admin.N.B.Se il runzope non avvia il servizio, ma genera un errore, potrebbe essere per la versione di python sbagliata, e si risolve facilmente modificando il file runzope, modificando la seguente riga:
<pre>PYTHON="/usr/bin/python"</pre>
<p>con la seguente:
<pre>PYTHON="/usr/bin/python2.4"</pre>
<p><font size="3" face="'Courier New', fixed" class="Apple-style-span"><span style="font-size: 11px; line-height: 13px; white-space: pre" class="Apple-style-span"> </span></font><font size="3" face="'Courier New', fixed" class="Apple-style-span"><span style="font-size: 11px; line-height: 13px; white-space: pre" class="Apple-style-span"></span></font>
<pre></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.web-riot.com/2009/12/02/zope-su-django-turnkey-appliance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django Turnkey VmWare Appliance</title>
		<link>http://blog.web-riot.com/2009/12/02/django-turnkey-vmware-appliance/</link>
		<comments>http://blog.web-riot.com/2009/12/02/django-turnkey-vmware-appliance/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 11:27:24 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[turnkey]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[webmin]]></category>

		<guid isPermaLink="false">http://blog.web-riot.com/2009/12/02/django-turnkey-vmware-appliance/</guid>
		<description><![CDATA[Da diversi giorni stiamo lavorando su una turnkey appliance esplicitamente creata per Django.Stiamo facendo test sulla sicurezza della macchina e sulla affidabilità, oltre ovviamente a prove di praticità nell&#8217;uso quotidiano per lo sviluppo, la manutenzione e assistenza a siti Django.La macchina VmWare è disponibile a questo indirizzo: http://www.vmware.com/appliances/directory/82433La macchina è molto leggera e arriva con già [...]]]></description>
			<content:encoded><![CDATA[<p>Da diversi giorni stiamo lavorando su una turnkey appliance esplicitamente creata per Django.Stiamo facendo test sulla sicurezza della macchina e sulla affidabilità, oltre ovviamente a prove di praticità nell&#8217;uso quotidiano per lo sviluppo, la manutenzione e assistenza a siti Django.La macchina VmWare è disponibile a questo indirizzo: <a href="http://www.vmware.com/appliances/directory/82433">http://www.vmware.com/appliances/directory/82433</a><a href="http://www.vmware.com/appliances/directory/82433"></a>La macchina è molto leggera e arriva con già pronta per la messa in produzione, con una interfaccia di amministrazione web: webmin, che permette di controllare Apache e MySQL  in modo molto dettagliato.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web-riot.com/2009/12/02/django-turnkey-vmware-appliance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django Custom Admin</title>
		<link>http://blog.web-riot.com/2009/11/25/django-custom-admin/</link>
		<comments>http://blog.web-riot.com/2009/11/25/django-custom-admin/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 17:02:07 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://matteo.gdznet.com/2009/11/25/django-custom-admin/</guid>
		<description><![CDATA[E&#8217; possibile modificare i templates e i comportamenti standard della parte di amministrazione di Django, in modo molto semplice e veloce. Da questo post alcuni spunti interessanti.
]]></description>
			<content:encoded><![CDATA[<p>E&#8217; possibile modificare i templates e i comportamenti standard della parte di amministrazione di Django, in modo molto semplice e veloce. Da <a href="http://www.unessa.net/en/hoyci/2006/12/custom-admin-templates/">questo post</a> alcuni spunti interessanti.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web-riot.com/2009/11/25/django-custom-admin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django Db Reverse Engeneering</title>
		<link>http://blog.web-riot.com/2009/11/11/django-db-reverse-engeneering/</link>
		<comments>http://blog.web-riot.com/2009/11/11/django-db-reverse-engeneering/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 13:29:53 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[engeneering]]></category>
		<category><![CDATA[legacy]]></category>
		<category><![CDATA[reverse]]></category>

		<guid isPermaLink="false">http://matteo.gdznet.com/2009/11/11/django-db-reverse-engeneering/</guid>
		<description><![CDATA[Ancora su Django, dove è possibile ricreare il modello di Django
deducendolo da una struttura di database già esistente, utilizzando l&#8217;inspect db:
http://docs.djangoproject.com/en/dev/howto/legacy-databases/
]]></description>
			<content:encoded><![CDATA[<p>Ancora su Django, dove è possibile ricreare il modello di Django<br />
deducendolo da una struttura di database già esistente, utilizzando l&#8217;inspect db:<br />
<a href="http://docs.djangoproject.com/en/dev/howto/legacy-databases/">http://docs.djangoproject.com/en/dev/howto/legacy-databases/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web-riot.com/2009/11/11/django-db-reverse-engeneering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebServices &amp; Django</title>
		<link>http://blog.web-riot.com/2009/11/11/webservices-django/</link>
		<comments>http://blog.web-riot.com/2009/11/11/webservices-django/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 12:01:24 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[web service ws django python]]></category>

		<guid isPermaLink="false">http://matteo.gdznet.com/2009/11/11/webservices-django/</guid>
		<description><![CDATA[Sono alla ricerca di un framework per pubblicare un WebService, posssibilmente con il suo WSDL,scritto in Python, dato che l&#8217;applicazione gemella è tutta scritta in Python all&#8217;interno di Zope.Per quanto riguarda Zope non ho trovato niente di versatile, mentre per Django le mie ricerchemi hanno portato felici risultati: soaplib per python!Qui si trova un esempio [...]]]></description>
			<content:encoded><![CDATA[<p>Sono alla ricerca di un framework per pubblicare un WebService, posssibilmente con il suo WSDL,scritto in Python, dato che l&#8217;applicazione gemella è tutta scritta in Python all&#8217;interno di Zope.Per quanto riguarda Zope non ho trovato niente di versatile, mentre per Django le mie ricerchemi hanno portato felici risultati: soaplib per python!Qui si trova un esempio di un metodo ws soap pubblicato da django: http://www.djangosnippets.org/snippets/979Qui invece l&#8217;indirizzo al Trac del progetto soaplib: http://trac.optio.webfactional.com/wiki/soaplibIl soaplib_handler.py aveva alcuni bug, utilizzando questo script viene risolto:http://www.djangosnippets.org/snippets/979/#c1655Per fare questo esperimento ho affrontato anche l&#8217;installazione di Django su Windows,voglio documentare velocemente i link utili:http://rubberduck.it/blog/?p=18La mia installazione dava alcuni problemi, fra cui:l&#8217;assenza del modulo MySqlDb: http://www.codegood.com/archives/4la mancanza del modulo pytz: http://webscripts.softpedia.com/scriptDownload/Pytz&#8211;Download-18101.html</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web-riot.com/2009/11/11/webservices-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TinyMCE e Django</title>
		<link>http://blog.web-riot.com/2009/11/08/tinymce-e-django/</link>
		<comments>http://blog.web-riot.com/2009/11/08/tinymce-e-django/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 11:22:18 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[backoffice]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[TinyMCE]]></category>
		<category><![CDATA[WYSIWYG]]></category>

		<guid isPermaLink="false">http://matteo.gdznet.com/2009/11/08/tinymce-e-django/</guid>
		<description><![CDATA[Ho appena finito di integrare TinyMCE con il backoffice Admin di Django.
E&#8217; stato piuttosto semplice grazie alle pagine guida qui sotto:
Guida passo a passo di  Bill de hOra
Tutorial ufficiale Django
Riassumo velocemente i passi da seguire:

scaricare TinyMCE
caricare TinyMCE all&#8217;interno di django/media
creare un file js: textareas.js che funziona da configuratore
modificare la classe Admin, aggiungendo la class Media,
che [...]]]></description>
			<content:encoded><![CDATA[<p>Ho appena finito di integrare TinyMCE con il backoffice Admin di Django.</p>
<p>E&#8217; stato piuttosto semplice grazie alle pagine guida qui sotto:</p>
<p><a href=" http://dehora.net/journal/2006/05/using_tinymce_in_djangos_admin.html">Guida passo a passo</a> di  Bill de hOra</p>
<p><a href="http://code.djangoproject.com/wiki/AddWYSIWYGEditor">Tutorial ufficiale</a> Django</p>
<p>Riassumo velocemente i passi da seguire:</p>
<ul>
<li>scaricare TinyMCE</li>
<li>caricare TinyMCE all&#8217;interno di django/media</li>
<li>creare un file js: textareas.js che funziona da configuratore</li>
<li>modificare la classe Admin, aggiungendo la class Media,<br />
che passa i path ai files base tinyMCE e al textareas.js, come qui sotto:<br />
class Media:<br />
js = (&#8216;tiny_mce/tiny_mce.js&#8217;,<br />
&#8216;Scripts/textareas.js&#8217;,)</li>
</ul>
<p>Ed il gioco è fatto, avrete nel backoffice di Django per le classi abilitate, il TinyMCE Editor!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web-riot.com/2009/11/08/tinymce-e-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python #3 (Django #1)</title>
		<link>http://blog.web-riot.com/2008/12/22/python-2-django-1/</link>
		<comments>http://blog.web-riot.com/2008/12/22/python-2-django-1/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 13:05:46 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://matteo.gdznet.com/2008/12/22/python-2-django-1/</guid>
		<description><![CDATA[Come primo Python Web Framework da passare in rassegna ho scelto Django, un framework con ORM, interfaccia di amministrazione automatica, sistema di templating, di cache e di internazionalizzazione&#8230; sembra tutto molto interessante.

 Per prima cosa quindi ho bisogno di installare un server di database e le rispettive librerie Python. Decido di usare MySql:
sudo apt-get install [...]]]></description>
			<content:encoded><![CDATA[<p>Come primo Python Web Framework da passare in rassegna ho scelto <a href="http://www.djangoproject.com/" title="Django">Django</a>, un framework con ORM, interfaccia di amministrazione automatica, sistema di templating, di cache e di internazionalizzazione&#8230; sembra tutto molto interessante.</p>
<ol>
<li> Per prima cosa quindi ho bisogno di installare un server di database e le rispettive librerie Python. Decido di usare MySql:<code><br />
sudo apt-get install mysql-server python-mysqldb</code></li>
<li> Poi installo Django, scaricando il package più recente da: <a href="http://www.djangoproject.com/download" target="_blank">downloads Django</a><br />
<code><br />
tar xzvf Django-1.0.2-final.tar.gz<br />
cd Django-1.0.2-final<br />
sudo python setup.py install<br />
</code>
</li>
<li>Ora mi creo un symLink dalla cartella di django alla usr/bin:<br />
<code>sudo ln -s /usr/local/lib/python2.5/site-packages /usr/local/bin</code></li>
<li>Ok, tutto pronto per creare un nuovo progetto, quindi mi posiziono sulla cartella dove organizzerò tutti i miei progetti, non nello stile PHP (/var/www) per una maggiore sicurezza, ma in home/user/&#8230; quindi lancio il comando per la creazione del progetto:<code><br />
sudo django-admin startproject NomeProgetto</code><br />
Startproject creerà una cartella NomeProgetto con all&#8217;interno 4 files .py (__init__.py, manage.py, settings.py, urls.py) .</li>
<li>Ora dall&#8217;interno della cartella  NomeProgetto, invoco la creazione della mia applicazione:<code>python manage.py startapp NomeApplicazione</code>Questo comando creerà la cartella NomeApplicazione con all&#8217;interno i files:__init__.py, models.py, views.py .</li>
<li>Ora posso iniziare a disegnare il modello della mia applicazione, modificando il file NomeApplicazione/models.py<br />
(utili queste pagine: <a href="http://docs.djangoproject.com/en/dev/topics/db/models" target="_blank">pagina di documentazione django per  la scritura di modelli</a> <a href="http://docs.djangoproject.com/en/dev/ref/models/fields/" target="_blank">pagina di documentazione django per i tipi di campi utilizzabili nel modello</a>)</li>
<li> Di seguito modifico il file NomeSito/admin.py per attivare l&#8217;amministrazione per le classi di modello disegnate in precedenza:<br />
<code>from NomeSito.NomeApplicazione.models import NomeClasse<br />
from django.contrib import admin</code>admin.site.register(NomeClasse)</li>
<li> Fatto ciò, apro il file NomeProgetto/settings.py e configuro la sezione database e INSTALLED_APPS.<br />
Per il database configuro la connessione ad un db fra quelli disponibili (MySql, PostgreSQL, SQLite):<code><br />
DATABASE_ENGINE<br />
DATABASE_NAME<br />
DATABASE_USER<br />
DATABASE_PASSWORD<br />
DATABASE_HOST<br />
DATABASE_PORT</code><br />
Per le installed apps, devo aggiungere due applicazioni: la mia NomeApplicazione e la applicazione per l&#8217;amministrazione &#8216;django.contrib.admin&#8217;</li>
<li> Modifico poi il file NomeProgetto/urls.py per attivare la parte di amministrazione (scommentando dove trovo il commento: &#8216;# Uncomment .. to enable the admin&#8221;</li>
<li> Ora posso lanciare il comando syncdb che creerà le tabelle per le INSTALLED_APPS di Django:<code>python manage.py syncdb</code>Lo script lancia la creazione delle tabelle per le INSTALLED_APPS che ancora non esistono sul database. Se non è mai stato creato un utente amministratore, questo script ci chiederà di configurarne uno.</li>
<li> Per verificare che tutto sia funzionante, entro nella cartella NomeProgetto e lancio:<code>python manage.py runserver 8080</code>Se tutto funziona correttamente, l&#8217;output sarà qualcosa come questo:<code>Validating models...<br />
0 errors found.</code>Django version 1.0.2 final, using settings &#8216;NomeApplicazione.settings&#8217;<br />
Development server is running at http://127.0.0.1:8080/<br />
Quit the server with CONTROL-C.</li>
<li> Ora puntiamo il browser all&#8217;indirizzo sopra indicato (http://127.0.0.1:8080/) e dovremmo vedere una pagina &#8220;Welcome to Django&#8221;.<br />
Puntando il browser invece all&#8217;indirizzo http://127.0.0.1:8080/amin accederemo alla parte di amministrazione.</li>
<li> Per testare invece le API Django ed il nostro modello a riga di comando, possiamo lanciare:<br />
<code>python manage.py shell</code></li>
</ol>
<p>Prima giornata con Django conclusa. Sono molto soddisfatto e sorpreso per le features di Django, infatti disegnando solo alcune classi di modello, ho a disposizione già tutti i metodi CRUD ed una ottima interfaccia di amministrazione back-office già pronta e funzionante out-of-the-box.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.web-riot.com/2008/12/22/python-2-django-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
