Вопрос такой, начал изучать python+django 1.6
Изучаю на примере создания личного блога портфолио.
Встал вопрос о самом компоненте портфолио, нашел в сети и форкнул к себе в гитхаб вот это приложение _
https://github.com/powellc/django-portfolio
Но оно написано очень давно и конечно сыпет ошибки.
Начну по порядку сначала ругалось вот на это:
from django.views.generic import date_based, list_detail
Нашел вроде решение что нужно импорт изменить на такой:
from django.views.generic.list import ListView
Потом начало ругаться на:
from tagging.fields import TagField и на import tagging
В целях простого теста просто закоментил для начала.
Но позже вылезла вот такая ошибка:
__init__() takes exactly 1 argument (5 given) вот тут views.py in project_list, line 13
Сама 13 строка файла вот так выглядит:
**kwargs
Сам файл views.py приведу:
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.http import Http404
from django.views.generic import date_based, list_detail
from portfolio.models import Project, Medium
def project_list(request, page=0, **kwargs):
return list_detail.object_list(
request,
queryset=Project.objects.public(),
paginate_by=5,
page=page,
**kwargs
)
project_list.__doc__ = list_detail.object_list.__doc__
def medium_list(request, **kwargs):
return list_detail.object_list(
request,
queryset = Medium.objects.all(),
**kwargs
)
Ну и файл models.py сразу
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.db.models import permalink
from tagging.fields import TagField
from portfolio.managers import PublicManager
import tagging
class Client(models.Model):
name = models.CharField(max_length=250)
url = models.URLField(blank=True)
class Meta:
db_table = "clients"
ordering = ['name']
def __unicode__(self):
return self.name
class Medium(models.Model):
name = models.CharField(max_length=250)
slug = models.SlugField()
class Meta:
db_table = "media"
verbose_name_plural = "media"
ordering = ['name']
def __unicode__(self):
return self.name
@permalink
def get_absolute_url(self):
return self.slug
class Project(models.Model):
name = models.CharField(max_length=250)
slug = models.SlugField()
project_url = models.URLField('Project URL')
description = models.TextField(blank=True)
client = models.ForeignKey(Client)
media = models.ManyToManyField(Medium)
disciplines = TagField()
completion_date = models.DateField()
in_development = models.BooleanField()
is_public = models.BooleanField(default=True)
overview_image = models.ImageField(upload_to="projects/overview/")
detail_image = models.ImageField(upload_to="projects/detail/")
objects = PublicManager()
class Meta:
db_table = "projects"
ordering = ['-completion_date']
def __unicode__(self):
return self.name
@permalink
def get_absolute_url(self):
return self.slug
Файлы привел оригинального состояния без моих правок, помогите запустить приложение.
Сразу прощения если вопрос не правильно оформил.