Docker Compose和Django生成器语法错误

我是 Docker 的新手,一直在尝试使用 Docker 设置 Django。我一直在按照这里的说明进行操作,但遇到了下面 的错误。


  File "/usr/local/lib/python3.7/site- 

  packages/django/contrib/admin/widgets.py", line 152

  web_1  |     '%s=%s' % (k, v) for k, v in params.items(),

  web_1  |     ^

  web_1  | SyntaxError: Generator expression must be parenthesized

我的Django版本是2.1,Python 3.7。据我所知,这不应该发生,但它确实发生了。我检查了有问题的文件,并且文件编写正确。这是一个已经实施的修复程序,过去应该使用最新版本的 Python 修复此错误。


编辑在这里添加Docker文件:


 FROM python:3

 ENV PYTHONUNBUFFERED 1

 RUN mkdir /code

 WORKDIR /code

 ADD requirements.txt /code/

 RUN pip install -r requirements.txt

 ADD . /code/

docker-compose.yml文件:


version: '3'


services:

  db:

    image: postgres

  web:

    build: .

    command: python3 manage.py runserver 0.0.0.0:8000

    volumes:

      - .:/code

    ports:

      - "8000:8000"

    depends_on:

      - db

来自widgets.py:


if params:

            related_url += '?' + '&'.join('%s=%s' % (k, v) for k, v in params.items())

这是 widgets.py 的整个定义表单:


def get_context(self, name, value, attrs):

    context = super().get_context(name, value, attrs)

    rel_to = self.rel.model

    if rel_to in self.admin_site._registry:

        # The related object is registered with the same AdminSite

        related_url = reverse(

            'admin:%s_%s_changelist' % (

                rel_to._meta.app_label,

                rel_to._meta.model_name,

            ),

            current_app=self.admin_site.name,

        )


        params = self.url_parameters()

        if params:

            related_url += '?' + '&'.join('%s=%s' % (k, v) for k, v in params.items())

        context['related_url'] = mark_safe(related_url)

        context['link_title'] = _('Lookup')

        # The JavaScript code looks for this class.

        context['widget']['attrs'].setdefault('class', 'vForeignKeyRawIdAdminField')

    if context['widget']['value']:

        context['link_label'], context['link_url'] = self.label_and_url_for_value(value)

    return context

但是,在尝试组合时,我仍然收到相同的错误代码。


我现在不知道该怎么办。我完全不知所措。这是我第一次遇到这个问题。


白衣染霜花
浏览 155回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python