如何修复在djang中运行populate文件时类['classname']在VSCode中没有对象成员

2024-10-03 23:20:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在Django中运行“python populate\u project\u 2”来填充脚本_应用程序类型“在候机楼。但我得到了这些错误

    1- Unable to import 'faker'pylint(import-error)
    2- Class 'Topic' has no 'objects' member pylint(no-member)

以下是运行“python populate\u project\u 2”后在我的终端上显示的内容_应用程序类型'

C:\MyDjangoDev\Project\u 2>;python填充\u Project\u 2_应用程序类型 python:无法打开文件“populate\u project\u 2”_应用程序类型':[Errno 2]没有这样的文件或目录

C:\MyDjangoDev\Project\u 2>;cd项目\u 2

C:\MyDjangoDev\Project\u 2\Project\u 2>;python填充\u Project\u 2_应用程序类型 文件“填充\u项目\u 2_应用程序类型“,第6行” 操作系统环境设置默认值('DJANGO\u SETTINGS\u MODULE','project\u 2.SETTINGS')设置.配置() ^ 语法错误:无效语法

C:\MyDjangoDev\Project\u 2\Project\u 2>;python填充\u Project\u 2_应用程序类型 回溯(最近一次呼叫): 文件“填充\u项目\u 2_应用程序类型,第2行,在 来自项目2_应用模型导入AccessRecord、网页、主题 文件“C:\MyDjangoDev\Project\u 2\Project\u 2\Project\u 2\u app\型号.py“,第6行,在” 课堂主题(模型。模型): 文件“C:\Users\iam\u xamuel\Miniconda3\lib\site packages\django\db\models\基本.py“,第103行,在新的 应用程序配置=apps.get\u包含\u app\u config(模块) 文件“C:\Users\iam\u xamuel\Miniconda3\lib\site packages\django\apps\注册表.py“,第252行,在包含应用程序配置的get\u中” 自检应用程序就绪() 文件“C:\Users\iam\u xamuel\Miniconda3\lib\site packages\django\apps\注册表.py“,第134行,在check\u apps\u ready中” 设置.u安装的应用程序 文件“C:\Users\iam\u xamuel\Miniconda3\lib\site packages\django\conf\uuuu init\uuuuuuuuuuuuy.py”,第79行,在getattr 自我设置(名称) 文件“C:\Users\iam\u xamuel\Miniconda3\lib\site packages\django\conf\uuuu init\uuuuuuuuuuy.py”,第64行,在\u安装程序中 %(desc,环境变量) django.core.exceptions异常.配置不正确:已安装应用程序,但未配置请求的设置。必须定义环境变量DJANGO\u SETTINGS\u MODULE或调用设置.配置()在访问设置之前。你知道吗

下面是填充脚本

from project_2_app.models import AccessRecord, Webpage, Topic
import random
import django
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_2.settings')

django.setup()

# settings.configure()

# Fake Population Script

fake_generation = Faker()
topics = ['Search', 'Social', 'Marketplace', 'News', 'Games']


def add_topic():
    t = Topic.objects.get_or_create(top_name=random.choice(topics))[0]
    t.save()
    return t


def populate(N=5):

    for entry in range(N):

        # Get the topic for the entry
        top = add_topic()

        # Create the fake data for that entry
        fake_url = fake_generation.url()
        fake_date = fake_generation.date()
        fake_name = fake_generation.company()

        # Create the new webpage entry
        webpg = Webpage.objects.get_or_create(
            topic=top, url=fake_url, name=fake_name)[0]

        # Create a fake access record for that webpage
        acc_rec = AccessRecord.objects.get_or_create(
            name=webpg, date=fake_date)[0]


if __name__ == "__main__":
    print("Populating Scripts!!!")
    populate(20)
    print("Pupolating Complete!!!")

我希望输出是'填充脚本'和'填充完成'显示在我的终端没有任何错误。你知道吗


Tags: 文件djangonamepyimportproject应用程序类型