title用法 - python title位置




如何解决在Django 1.9中的弃用警告 (2)

您不必“修复”弃用警告,因为它们只是警告和事情仍然有效。 但是,如果您决定更新,他们可能会破坏您的应用程序。 所以通常最好是用新的接口重新编写警告,如果这些警告在你的代码中就暗示了。 如果它在某个使用的边库中,那么如果库创建者将在下一个版本中更新他/她的库,则可能需要等待。

关于你的特殊警告,除非你决定更新到Django 1.10,否则你的代码应该运行良好。

我是Django框架的新用户。 我目前正在用django_rest_framework构建一个REST API。 当启动我的服务器时,我得到了我不知道如何解决的弃用警告。

RemovedInDjango110Warning:'get_all_related_objects是一个非官方的API已被弃用。 您可以用opts.get_all_related_objects()中的“get_fields()”关系替换它,

以上是第一个。 有谁知道如何解决这个问题。 我所有在我的API在我的API是使用内置的ModelViewSet标准休息调用,我也覆盖了默认的身份验证和用户系统,我不知道为什么我得到这些警告,因为我一直在使用Django 1.9从一开始。

我也得到这个:

RemovedInDjango110警告:render()必须用字典调用,而不是RequestContext

从我最初的研究来看,这与模板有关。 我没有使用任何模板,所以我不知道为什么会出现。

任何人都可以帮助我解决这些问题?


如果有人在这里登陆,具体针对第二个弃用警告:

RemovedInDjango110警告:render()必须用字典调用,而不是RequestContext

这只在Django代码中记录

def render(self, context=None, request=None):
    # A deprecation path is required here to cover the following usage:
    # >>> from django.template import Context
    # >>> from django.template.loader import get_template
    # >>> template = get_template('hello.html')
    # >>> template.render(Context({'name': 'world'}))
    # In Django 1.7 get_template() returned a django.template.Template.
    # In Django 1.8 it returns a django.template.backends.django.Template.
    # In Django 1.10 the isinstance checks should be removed. If passing a
    # Context or a RequestContext works by accident, it won't be an issue
    # per se, but it won't be officially supported either.

通过从render()删除RequestContextContext并简单地传递字典,可以很容易地解决这个问题。

离开它在v1.9是不是最好的事情。 正如Django开发者所说的那样,它可能会也可能不会运行。 不同的是,在1.9我们得到了弃用警告。







django-rest-framework