Запросы работают на оболочку, но не на программный код Django - PullRequest
0 голосов
/ 09 июля 2019

Я полный новичок в Python и Django.

Я пробовал несколько решений, которые я нашел при переполнении стека, но я все еще получаю ту же проблему. Я попытался сделать запрос из оболочки, и он работает хорошо, но не в моем коде.

Я установил pylint, используя

pip install pylint-django

Я также изменил настройки Linter на Настройки> Настройки пользователя> Python с pyLint на pylint_django, а также на flake8, но без положительных результатов. Я по-прежнему получаю сообщение "У курсов класса нет пилинта члена" объектов "(нет члена)"

Это мои коды от models.py:

class Courses(models.Model):
course_title = models.CharField(max_length=200)
course_image = models.ImageField(upload_to='course_images/')
course_duration = models.TimeField() 

 def __str__(self):
 return self.course_title

views.py выглядит так:

from django.shortcuts import render
from django.http import HttpResponse
from .models import Courses

def homepage(request):
    cos = Courses.objects.all()
    context={ 'courses': cos }

    return render(request, "main/home.html", context) 

Мне нужна помощь. Я полностью застрял.

Ответы [ 2 ]

1 голос
/ 10 июля 2019

Это сообщение об ошибке от линтера, а не от библиотеки. Вам не нужно беспокоиться об этом. Поскольку в среде IDE могут применяться параметры линтера по умолчанию, это может быть причиной этого. Кроме того, вы можете сохранить для своих моделей единичное имя в качестве практики, и если вы зарегистрируете эту модель в админке, она автоматически выдаст s в конце.

Так должно быть

from django.db impot models

class Courses(models.Model):
    course_title = models.CharField(max_length=200)
    course_image = models.ImageField(upload_to='course_images/')
    course_duration = models.TimeField()

    def __str__(self):
        return self.course_title
0 голосов
/ 11 июля 2019

Всё это время было у меня под носом.

Перейти к Настройки> Поиск «терминал»> открыть любой из do "Edit in settings.json" и добавить код ниже.

"python.linting.pylintArgs": ["--load-plugins=pylint_django"]

ПРИМЕЧАНИЕ: убедитесь, что вы добавили запятую в конце последней строки перед добавлением кода ниже, иначе вы получите ошибку.

Сохраните это и затем вернитесь к настройкам инайдите "lint", проверьте левую часть поиска и найдите Python Configuration

Убедитесь, что "Используемый Linter" установлен либо на pyLint или pylint_django

Это должно работать нормально.

...