2012-06-15 2 views
1

ошибка здесь: /data/http/cobalt/cards/urls.py вДжанго дает ошибку __init __() занимает ровно 3 аргумента (1 дано)

106: (r'^latest/feed', LatestNews()) ... 

эта часть urls.py которой выдаст ошибку

from django.conf.urls import patterns, url, include 
from myproject.feeds import LatestNews 

urlpatterns += patterns('', 
    # ... 
    (r'^latest/feed/$', LatestNews()), 
    # ... 

)

На самом деле я скопировал весь код из https://docs.djangoproject.com/en/1.1/ref/contrib/syndication/

, но url, который они предоставляют, имеет ошибку, которую я не могу найти

+1

Пожалуйста, пост фактического исключения в полном объеме. –

+0

Вы ссылаетесь на документацию 1.1, но ваш код, похоже, исходит из перезаписанной версии в версии 1.2 или новее - можете ли вы подтвердить, какую версию вы используете? –

ответ

0

Ошибка должна быть с LatestNews. Вы не передаете никаких аргументов, что означает, что он получит один (сам объект). LatestNews - единственный объект, который строится на этой линии (URL-адрес - простой кортеж, у которого нет фиксированного количества аргументов).

Проверьте класс LatestNews - его метод __init__(), без сомнения, принимает три аргумента.

+0

LatestNews - это подкласс Feed и может быть найден на той же странице, вместо класса LatestEntriesFeed (Feed): у меня есть класс LatestNews (Feed) – simar

+0

@ user1262187 Подклассы могут иметь различное количество аргументов для своего конструктора в Python. Вы уверены, что у него нет '__init __()' определяется иначе? –

+0

код моего LatestNews можно найти на странице https://docs.djangoproject.com/en/dev/ref/contrib/syndication/?from=olddocs. в разделе «Простой пример». У меня такой же класс, а вместо LatestNewsFeed у меня есть LatestNews. – simar

0

Как вы можете видеть here и here эти классы кормов не предназначены для просмотра. Они должны быть переданы в представлении django.contrib.syndication.views.feed в качестве аргумента.

1

В LatestNews, вы, вероятно, с помощью

from django.contrib.syndication.feeds import Feed 

вместо

from django.contrib.syndication.views import Feed 
Смежные вопросы