【问题标题】:Django __init__() takes 1 positional argument but 2 were given [closed]Django __init__() 接受 1 个位置参数,但给出了 2 个 [关闭]
【发布时间】:2018-01-05 17:02:27
【问题描述】:

我对 Django 有疑问。我正在尝试在 Django 中创建第二个页面,但得到TypeError。我需要帮助找出我犯错的地方。我试图阅读文档,但现在对我来说很难。

__init__.py

default_app_config = 'page.apps.PageConfig'

urls.py

from django.conf.urls import url
from . import views

urlpatterns = [
    # url(r'^$', views.IndexView.as_view(), name='index' ),
    url(r'^$', views.IndexView, name='index'),
]

view.py

from django.views.generic import TemplateView
from libs.views import CachedViewMixin
from .models import Page


class IndexView(CachedViewMixin, TemplateView):
    template_name = 'main/index.html'
    config = None

model.py

from django.db import models
from django.utils.translation import ugettext_lazy as _, ugettext
from solo.models import SingletonModel


class Page(SingletonModel):
    updated = models.DateTimeField(_('change date'), auto_now=True)

    class Meta:
        default_permissions = ('change',)
        verbose_name = _('settings')

    def __str__(self):
        return ugettext('Home page')

apps.py

from django.apps import AppConfig
from django.utils.translation import ugettext_lazy as _


class PageConfig(AppConfig):
    name = 'page'
    verbose_name = _('Another page')

【问题讨论】:

  • 用你正在使用的 Django 版本添加完整的回溯

标签: django python-3.x django-models django-views


【解决方案1】:

尝试添加 as_view 并更好地显示完整的错误跟踪

urlpatterns = [
    # url(r'^$', views.IndexView.as_view(), name='index' ),
    url(r'^$', views.IndexView.as_view(), name='index'),
    #                          ^^^^^^^^
]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 2017-04-22
    • 2017-11-23
    • 1970-01-01
    • 2020-06-26
    相关资源
    最近更新 更多