Microtutoriais: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
mSem resumo de edição
mSem resumo de edição
Linha 5: Linha 5:
depois vá para um dir.. dê um
depois vá para um dir.. dê um
     $ python django-admin.py startproject mysite
     $ python django-admin.py startproject mysite
inicia o servidor (entra no diretório do projeto)
inicie o servidor (entra no diretório do projeto)
     $ python manage.py runserver
     $ python manage.py runserver
pronto! só ir no endereço que o terminal soltou
pronto! só ir no endereço que o terminal soltou
====Django2: Fazendo o bixinho acessar um BD.====
    $ python manage.py syncdb
dá pau até que vc arrume o
    DATABASES = { 'default' :
do settings.py
Pode usar sqlite que fica imediato, mas eu arrumei
um user mysql rapidinho.
Rode:
    $ python manage.py syncdb
Até que não sintamos nada de mais pegando.






'''Django7''': Seu Admin é customizável completamente
====Django7: Seu Admin é customizável completamente====
(último da parte 2 do tutorial)
(último da parte 2 do tutorial)


Linha 23: Linha 39:


copie coisas como:
copie coisas como:
django/contrib/admin/templates/admin/base_site.html


/home/XXXXX/mytemplates/admin/base_site.html.
    django/contrib/admin/templates/admin/base_site.html
para
    /home/XXXXX/mytemplates/admin/base_site.html.


e não veja a mudança alguma AINDA. Ou tente fuçar no base_site.html
e não veja a mudança alguma AINDA. Ou tente fuçar no base_site.html
Linha 32: Linha 49:
____________________________
____________________________


'''Django6''': Faça seu Admin responder
====Django6: Faça seu Admin responder====


Depois de devidamente logado,  
Depois de devidamente logado,  
Linha 39: Linha 56:
Coloque as seguintes linhas neste arquivo admin.py:
Coloque as seguintes linhas neste arquivo admin.py:


from XXXX.models import Poll
<pre>from XXXX.models import Poll
from XXXX.models import Choice
from XXXX.models import Choice
from django.contrib import admin
from django.contrib import admin


admin.site.register(Poll)  <----------------
admin.site.register(Poll)  <----------------
admin.site.register(Choice)  <----------------
admin.site.register(Choice)  <----------------</pre>


XXX você substitui por sitezinhoCoxa ou qualquer nome do app que você fez.
XXX você substitui por sitezinhoCoxa ou qualquer nome do app que você fez.
Linha 53: Linha 70:
Troque:
Troque:


admin.site.register(Poll)  <----------------
<pre>admin.site.register(Poll)  <----------------
admin.site.register(Choice)  <----------------</pre>


por:
por:


class ChoiceInline(admin.TabularInline):
</pre>class ChoiceInline(admin.TabularInline):
     model = Choice
     model = Choice
     extra = 3
     extra = 3
Linha 72: Linha 90:
     date_hierarchy = 'pub_date'
     date_hierarchy = 'pub_date'


admin.site.register(Poll, PollAdmin)
admin.site.register(Poll, PollAdmin</pre>


E veja o resultado.
E veja o resultado.
Linha 167: Linha 185:


__________________________________
__________________________________
'''Django2''': Fazendo o bixinho acessar um BD.
$ python manage.py syncdb
dá pau até que vc arrume o
DATABASES = {
    'default' :
do settings.py
Pode usar sqlite que fica imediato, mas eu arrumei
um user mysql rapidinho.
Rode:
$ python manage.py syncdb
Até que não sintamos nada de mais pegando.
_________________________________
django e georef
https://code.djangoproject.com/wiki/GeoDjango
http://media.b-list.org/presentations/2008/pycon/lightning.pdf
google maps templatetag
http://djangosnippets.org/snippets/297/
________________________

Edição das 10h25min de 18 de agosto de 2011

Django1: Baixar e rodar em 3 comandos

Simplesme baixe o tar.gz do site e rode

   $ sudo python setup.py install

depois vá para um dir.. dê um

   $ python django-admin.py startproject mysite

inicie o servidor (entra no diretório do projeto)

   $ python manage.py runserver

pronto! só ir no endereço que o terminal soltou

Django2: Fazendo o bixinho acessar um BD.

   $ python manage.py syncdb

dá pau até que vc arrume o

   DATABASES = { 'default' :

do settings.py

Pode usar sqlite que fica imediato, mas eu arrumei um user mysql rapidinho.

Rode:

   $ python manage.py syncdb

Até que não sintamos nada de mais pegando.


Django7: Seu Admin é customizável completamente

(último da parte 2 do tutorial)

no settings.py mude:

TEMPLATE_DIRS = (

   "/home/XXXX/mytemplates", # Change this to your own directory.

)

XXXX é o que você quer.

copie coisas como:

   django/contrib/admin/templates/admin/base_site.html

para

   /home/XXXXX/mytemplates/admin/base_site.html.

e não veja a mudança alguma AINDA. Ou tente fuçar no base_site.html


____________________________

Django6: Faça seu Admin responder

Depois de devidamente logado,

Crie um arquivo admin.py no diretório do app que startou com startapp. Coloque as seguintes linhas neste arquivo admin.py:

from XXXX.models import Poll
from XXXX.models import Choice
from django.contrib import admin

admin.site.register(Poll)  <----------------
admin.site.register(Choice)  <----------------

XXX você substitui por sitezinhoCoxa ou qualquer nome do app que você fez.

Recarregue a página e veja que o admin já possui uma entrada para o polls.


Troque:

admin.site.register(Poll)  <----------------
admin.site.register(Choice)  <----------------

por:

class ChoiceInline(admin.TabularInline):

   model = Choice
   extra = 3

class PollAdmin(admin.ModelAdmin):

   list_display = ('question', 'pub_date', 'was_published_today')
   fieldsets = [
       (None,               {'fields': ['question']}),
       ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
   ]
   inlines = [ChoiceInline]
   list_filter = ['pub_date']
   search_fields = ['question']
   date_hierarchy = 'pub_date'

admin.site.register(Poll, PollAdmin

E veja o resultado.

________________________________

Django5: Habilite seu Admin (inicio da parte 2 do tutorial)

Depois de descomentar 'django.contrib.admin' do INSTALLED_APPS do settings.py

$ python manage.py syncdb # porque estamos com um app novo, o admin

Aí é preciso habilitar a URL para acessar o admin, isso é feito no url.py descomentando as seguintes três linhas:

from django.contrib import admin admin.autodiscover() (r'^admin/', include(admin.site.urls)),

A última fica ao final do bloco identado.

Pronto. Inicie o server

$ python manage.py runserver

e vá para o endereço previsto:
http://127.0.0.1:8000/admin/

Vualá seu admin tá rodando. Faz login aí, irmão.

__________________________

Django4: Interlúdio na shell (fim da parte 1 do tutorial oficial)

Para inicar uma shell com o ambiente bonitinho para fazer alterações na mão e colocar coisas nos BD: $ python manage.py shell

Aí pode fazer coisas como: [1]: from aexp.models import Poll, Choice [2]: p = Poll(question="What's up?", pub_date=datetime.datetime.now()) [3]: p.save() [4]: p.choice_set.create(choice='Not much', votes=0) etc...

_________________________________

Django3: Suas tabelas de BD são classes

Crie um app:

$ python manage.py startapp sitezinhoCoxa

Coloque 'sitezinhoCoxa' no final da tupla INSTALLED_APPS do settings.py,

Crie estas duas classes no seu sitezinhoCoxa/models.py:

class Poll(models.Model):

   question = models.CharField(max_length=200)
   pub_date = models.DateTimeField('date published')

class Choice(models.Model):

   poll = models.ForeignKey(Poll)
   choice = models.CharField(max_length=200)
   votes = models.IntegerField()

Relaxa, vai dar certo. Só falta rodar este comando:

$ python manage.py sql aexp

CREATE TABLE `aexp_poll` (

   `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
   `question` varchar(200) NOT NULL,
   `pub_date` datetime NOT NULL

)

CREATE TABLE `aexp_choice` (

   `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
   `poll_id` integer NOT NULL,
   `choice` varchar(200) NOT NULL,
   `votes` integer NOT NULL

)

Pronto! só dê um:

$ python manage.py syncdb

para seu projeto dar conta de usar a base de dados que vc fez.


__________________________________