Microtutoriais: mudanças entre as edições
m (Nova página: '''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 ow...) |
mSem resumo de edição |
||
Linha 1: | Linha 1: | ||
====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 | |||
inicia o servidor (entra no diretório do projeto) | |||
$ python manage.py runserver | |||
pronto! só ir no endereço que o terminal soltou | |||
'''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 183: | Linha 195: | ||
________________________ | ________________________ | ||
Edição das 10h20min 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
inicia o servidor (entra no diretório do projeto)
$ python manage.py runserver
pronto! só ir no endereço que o terminal soltou
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
/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) <----------------
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.
__________________________________
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/
________________________