Я получаю приведенную ниже трассировку, и, похоже, она связана с изменениями, внесенными в Django 3.0.2? Буду признателен, если кто-нибудь сможет объяснить, что я делаю здесь не так.
(myDjangoEnv) D:\Django\django_lectures\first_project>python populate_first_app.py
Traceback (most recent call last):
File "populate_first_app.py", line 5, in <module>
django.setup()
File "C:\Users\ABC\.conda\envs\myDjangoEnv\lib\site-packages\django\__init__.py", line 19, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "C:\Users\ABC\.conda\envs\myDjangoEnv\lib\site-packages\django\conf\__init__.py", line 76, in __getattr__
self._setup(name)
File "C:\Users\ABC\.conda\envs\myDjangoEnv\lib\site-packages\django\conf\__init__.py", line 57, in _setup
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Requested setting LOGGING_CONFIG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
Вот мой код:
import os
os.environ.setdefault('DJANGO_SETTING_MODULE', 'first_project.settings')
import django
django.setup()
##FAKER POP SCRIPT
import random
from first_app.models import AccessRecord, Topic, Webpage
from faker import Faker
fakegen = Faker()
topics = ['Search', 'Social', 'Marketplace', 'News', 'Game']
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 fake data for that entry
fake_url = fakegen.url()
fake_date = fakegen.date()
fake_name = fakegen.company()
#Create new webpage entry
webpage = Webpage.objects.get_or_create(topic = top, url= fake_url, name = fake_name)[0]
#Create a fake AccessRecord for that webpage
acc_rec = AccessRecord.objects.get_or_create(name = webpage, date = fake_date)[0]
if __name__ == '__main__':
print("populate Script!")
populate(20)
print("populating Complete!")