Microtutoriais: mudanças entre as edições
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 | ||
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==== | |||
(ú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 | |||
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==== | |||
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: | ||
__________________________________ | __________________________________ | ||
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.
__________________________________