Страница 1 из 1

Django LXF105

Добавлено: 23.04.2010 13:48
TuLiss
пробую повторить django по LXF105.
http://wiki.linuxformat.ru/index.php/LXF105:Django

Админку поднял, но вот приложение news в админки так и не появляется.

Если я правильно понял,то код должен выглядеть так:

myproject/news/models.py

Код: Выделить всё

from django.db import models
class News(models.Model):
  title = models.CharField(max_length=70)
  description = models.CharField(max_length=255)
  pub_date = models.DateTimeField()
  text = models.TextField()
class Admin:
 pass
class Comment(models.Model):
  news = models.ForeignKey(News)
  username = models.CharField(max_length=70)
  text = models.TextField()
  pub_date = models.DateTimeField(auto_now_add=True)
class Admin:
 pass


В общем приложение news и comments не появляются :/ Apache перезапускал.

В общем мысли кончелиcь :/

Python 2.6.4

P.S pass сделан отступ, тут он съедается.

Re: Django LXF105

Добавлено: 23.04.2010 14:59
Val
TuLiss писал(а):
23.04.2010 13:48
В общем приложение news и comments не появляются :/ Apache перезапускал.

Насколько я помню Django, приложения как минимум еще в INSTALLED_APPS в настройках проекта надо перечислить?

Re: Django LXF105

Добавлено: 23.04.2010 15:05
TuLiss
Val писал(а):
23.04.2010 14:59
TuLiss писал(а):
23.04.2010 13:48
В общем приложение news и comments не появляются :/ Apache перезапускал.

Насколько я помню Django, приложения как минимум еще в INSTALLED_APPS в настройках проекта надо перечислить?


Перечислено.

Код: Выделить всё

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin',
    'myproject.news',
)


Базу синхронизировал.

Re: Django LXF105

Добавлено: 23.04.2010 15:44
TuLiss
по шагам что делаю.

Создаю проект:
django-admin startproject myproject

в settings.py прописываю БД mysql.

делаем синхронихацию

#python manage.py syncdb

Creating table auth_permission
Creating table auth_group
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (Leave blank to use 'sp_0001'): admin
E-mail address:
Password:
Password (again):
Superuser created successfully.
Installing index for auth.Permission model
Installing index for auth.Message model


создаем приложение
python manage.py startapp news

в models.py прописываем модели (из первого поста)

в settngs.py дописываем 'myproject.news' и делаем синхронизацию
#python manage.py syncdb

Creating table news_news
Creating table news_comment
Installing index for news.Comment model


Добавляем в settings.py django.contrib.admin в INSTALLED_APPS и делаем синхронизацию
python manage.py syncdb

Creating table django_admin_log
Installing index for admin.LogEntry model

открываем myproject/urls.py
открываем:

Код: Выделить всё

from django.conf.urls.defaults import *

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
        (r'^admin/', include(admin.site.urls)),
)


проверяем и получаем доступ к админке. Все работает.

Добавляем классы и ... и их нету в админки. (см пост первый) <_<

Re: Django LXF105

Добавлено: 23.04.2010 16:24
Val
Тогда, может, дело в том, что за два года кое-что изменилось в Django (если так - будет очень хорошо, если по результатам разбирательств Вы поправите статью в вики, чтобы последующие читатели таких проблем не имели). Сейчас скину автору серии ссылку на тему - может статься, он найдет время ответить.

Re: Django LXF105

Добавлено: 23.04.2010 16:47
TuLiss
Val писал(а):
23.04.2010 16:24
Тогда, может, дело в том, что за два года кое-что изменилось в Django (если так - будет очень хорошо, если по результатам разбирательств Вы поправите статью в вики, чтобы последующие читатели таких проблем не имели). Сейчас скину автору серии ссылку на тему - может статься, он найдет время ответить.


Было бы неплохо, urls.py точно уже изменился =)

Re: Django LXF105

Добавлено: 24.04.2010 03:00
shultais
Да, за 2 года Django сильно изменился, в том числе и админка.

Чтобы всё заработало, надо создать файл admin.py в корне приложения, примерно такого содержания

Код: Выделить всё

# -*- coding: utf-8 -*-
from django.contrib import admin

from news.models import News

class NewsAdmin(admin.ModelAdmin):
   list_display = ("title", "pub_date",)
   search_fields = ("title",  "description", "text")

admin.site.register(Admin, NewsAdmin)


Тогда всё заработает:-)