Ошибки Pylint в Django, Pylint(E0611:no-name-in-module) и Pylint(E1101:no-member)

Похоже, что мои models.py, forms.py, urls.py и views.py не распознают элементы друг в друге, и я не понимаю, что может идти не так. Я только начинаю проект (CS50W Project4-Network) и заметил проблему, когда попытался отобразить форму модели, а поле textarea формы, связанной с моделью, не отображается в браузере, оно отображается только при нажатии кнопки submit, как отсутствующее поле для заполнения, я не уверен, что это из-за тех же ошибок pylint, которые я получаю, или чего-то еще.

Вот мои модели:

from django.contrib.auth.models import AbstractUser
from django.db import models


class User(AbstractUser):
    pass

class Post(models.Model):
    body = models.TextField()
    date = models.DateTimeField(auto_now_add = True)
    author = models.ForeignKey(User, on_delete=models.CASCADE, related_name="author", default=None)

    def __str__(self):
        return f"{self.body} by {self.author} at {self.date}"

The forms.py:

from django import forms
from django.forms import ModelForm

from .models import Post

class PostForm(ModelForm):

    class Meta:
        model = Post
        fields = ["body"]

        widgets = {
            "body": forms.Textarea(attrs={'class': 'form-control col-md-5 col-lg-6'}),
        }

Взгляды

from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required
from django.db import IntegrityError
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from django.urls import reverse

from .forms import PostForm

from .models import User, Post

**I left out logging in routes**

@login_required(login_url='login')
def create_post_page(request):
    return render(request, "network/create_post.html")

def create_post(request):
    posted = False
    if request.method == "POST":
        form = PostForm(request.POST)
        if form.is_valid():
            instance = form.save(commit=False)
            instance.author = request.user
            instance.save()
            return HttpResponseRedirect("/create_post?posted=True")
    else:
        form = PostForm()
        if "posted" in request.GET:
            posted = True
    return render(request, "network/create_post.html", {
        "posted": posted,
        "form": form
    })

Урлы:

from django.urls import path

from . import views

urlpatterns = [
    path("", views.index, name="index"),
    path("login", views.login_view, name="login"),
    path("logout", views.logout_view, name="logout"),
    path("register", views.register, name="register"),
    path("create_post", views.create_post, name="create_post"),
    path("create_post_page", views.create_post_page, name="create_post_page")
    ]

Код шаблона, где форма не отображается, отображается только когда я нажимаю submit как отсутствующее поле, которое должно быть полем

{% extends "network/layout.html" %}

{% block body %}

{% if posted %}
 
{% else %}
<h2>Create a new post</h2>
<form action="{% url 'create_post' %}" method = "POST">
    {% csrf_token %}
    {{ form.as_p }}
    <input class="btn btn-secondary" type="submit" value="Post">
</form>
{% endif%}
{% endblock %}

Проблемы, которые vscode продолжает поднимать:

Отсутствует имя 'Post' в модуле 'network.models'Pylint(E0611:no-name-in-module)

Модуль 'network.views' не имеет члена 'create_post'Pylint(E1101:no-member)

Модуль 'network.views' не имеет члена 'create_post_page'Pylint(E1101:no-member)

Помогите мне пожалуйста, я чувствую, что это небольшая проблема, но она сводит меня с ума, потому что я не могу понять почему.

Убедитесь, что вы загружаете плагин "pylint_django" при вызове pylint и передаете ему правильное значение для django-settings-module. Для этого создайте файл pylintrc в папке вашего проекта и дайте ему следующее содержание:

[MAIN]
load-plugins = pylint_django,
django-settings-module = mysite.settings
Вернуться на верх