가상환경 구현시 에러
해결됨
실전! Django 입문 [최신 5.2 버전]
python 3.11을 설치했었는데.. 본 강의에 따라 어제 python 3.13을 다시 설치했습니다. 강의에 따라 가상환경을 구축하기 위하여 첨부와같이 실행했더니 3.11이 구동됩니다. 어떻게 해결해야 할까요?
- python
- django
- aws
- rest-api
- drf
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
실전! Django 입문 [최신 5.2 버전]
python 3.11을 설치했었는데.. 본 강의에 따라 어제 python 3.13을 다시 설치했습니다. 강의에 따라 가상환경을 구축하기 위하여 첨부와같이 실행했더니 3.11이 구동됩니다. 어떻게 해결해야 할까요?
해결됨
실전! Django 활용
pyenv virtualenv 3.11.8 goodpang 하니까 no such command 'virtualenv' 라고 뜨고 구글 검색해보니까 인프런 q&a 에서 윈도우에서는 잘 동작하지 않는다고 되어 있습니다. 인프런 AI가 아래를 추천해주는군요. python -m venv myenv
미해결
우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
LV1부터 하나씩 듣고 있는데 가상환경설정 말고는 레벨1에서 설정한대로 두어도 되는 건가요?
미해결
장고 설계철학으로 시작하는 파이썬 장고 입문
메일 전송을 커맨드로 지정해주셨는데, 어떤 상황에서 보통 사용되는지 궁금합니다. 그리고, 서비스 내에서 특정 상황에서 알아서 (python manage.py ~ 명령어를 터미널에 따로 입력하지않아도) 이메일을 보내게 하려는 것이라면 어떻게 커맨드로 설정해놓은 저 부분을 실행시키는지 궁금합니다.
미해결
우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
안녕하세요. 어떤 매소드는 __aaa__ 이렇게 끝나고 어떤 매소드는 ___aaa___() 이렇게 호출되는데, 그냥 외우는건가요? 아니면 호출하면서 에러가 발생하는 바꾸는 건가요? 혹시 쉽게 구분하는 방법이 있나요? 감사합니다. print(n.__doc__) print(n.__bool__())
미해결
우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
왜 numbers리스트를 만들때 str으로 숫자를 감싸나요?
미해결
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
안녕하세요 지금 4-4까지 들은 수강생입니다. 제가 데이터 사이언스 대학원 진학을 앞두고 있는데, 개인적으로 장고기반으로 한 웹페이지 + AI 프로젝트를 하고 싶어 장고를 배우고 하려고 하는데, 이게 솔직히 좀 많이 어렵고, 지금 코드를 따라치는 것만 하는 것 같아서 학습방향이 맞나해서 질문드립니다. 소스코드는 거의 주신 걸 이용해서 복붙하고, 이제 하신 코드를 따라서 치고 결과 확인을 하는 건데, 강의하면서 말씀하시는 DOM,,등등을 잘 알아듣기가 힘들어서요,,자바같은 경우에는 공부를 했어서 MVC 패턴같이 백에서 큰 그림을 그려가며 좀 자세하게 설명을 해주시는 줄 알았는데 그게 아니여서 조금 고민이 되는 것 같습니다. 저는 모델, 뷰 또는 urls가 서로 어떻게 작용을 해서 프론트로 뿌려주는 것인지에 대한 답답함, 그리고 각 코드가 어떠한 의미를 지녔는지 잘 모르겠는 부분에 대한 답답함을 지닌 것 같습니다. for문 또는 전체적으로 함수가 어떠한 역할을 하는지는 이해했으나 어떠한 방식으로 요청하고 받고 하는지에 대해 몰라서 조금 답답한 것 같습니다. 음 예를 들자면, songlist에 있는 거를 for문으로 해서 가져오는구나,,라는 건 이해를 했는데, view와 model은 어떠한 역할을 하기에 이걸 프론트로 뿌리는거지..?라는 질문도 생기고, html은 솔직히 거의 전부 이해가 안가기도 합니다. 혹시 다른 강의를 들어야할까요? 조언을 주시면 감사하겠습니다. 긴 글 읽어주셔서 감사합니다!
미해결
우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
asyncIO 스크랩핑 실습 중 macOS에서 SSL인증서 문제로 인해 추가적으로 인증서 설치 등을 진행해야 하더라구요. 아래와 같이 수정하여, 코드 실행에는 문제가 없었는데 비동기 예제이다보니 추가적으로 선언한 get_request를 사용 시 동기화 문제에서 자유로운지 궁금합니다. 제가 한 것은 아래와 같이 SSL 인증서 설치 (Python 3.13 ver) /Applications/Python\ 3.13/Install\ Certificates.command 일부 코드 수정 import ssl import certifi # 인증서 설정 ssl_context = ssl.create_default_context(cafile=cerfiti.where()) # 추가적으로 추가한 함수 def get_request(url): headers = {'User-Agent' : 'Mozila/5.0'} req = Request(url, headers=headers) return urlopen(req, context=ssl_context) async def fetch(url, executor): res = await loop.run_in_executor(executor, lambda: get_request(rul)) return res.read()
미해결
장고 설계철학으로 시작하는 파이썬 장고 입문
어떤 가상 환경인지 환경 이름에 드러나게 작성해주는게 좋습니다. 변수명 작성할때도 a, b, 이렇게 하는 것 보다 name, age, 이런 식으로 의미를 명확히 담아서 만드는게 코드 유지보수하기 좋잖아요? 나중에 가상환경들이 많아졌을 때, 환경 이름이 venv, venv1, venv2, 이런식으로 되어 있는 것과, django_test_venv, flask_py310_env, streamlit_llm_chatbot_py311_venv 등으로 되어있는 것 중 어떤게 더 사용이 편할지 생각해보시면 되겠습니다. 이 강의도 그렇고 인터넷 보면 죄다 예제가 venv로 만드는 것으로 되어있는데 현업에서 이렇게 하다가 개고생하고 드리는 말씀이니 참고하세요...
해결됨
실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
공식문서 보면 celery.py의 위치를 프로젝트 폴더에 하라고 되어 있는데 강의에서는 app폴더인 worker에 있습니다. 크게 상관이 없는건가요? 아니면 다른설정을 하면 app에 위치시켜도 되는건가요?
해결됨
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요. 질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다. 시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다. 오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-) 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. runserver 실행 시 하기의 오류가 발생합니다. Exception ignored in : <function Componentregistry.__del__ at 0x2af53d0bf9a0> Traceback (most recent call last): File " .venv/lib/python3.10/site-packages/django_components/component_register.py", line 267, in __del__ AttributeError: 'NoneType' object has no attribute 'on_registry_deleted' Watching for file changes with StatReloader #... 일단 겉으로 보기에는 문제 없이 작동은 합니다. settings.py는 django-components 설치 - 파이썬사랑방 튜토리얼 ( pyhub.kr ) 과 documentation을 보고 수정하였는데 위와 같은 문제가 발생하는 이유를 모르겠어서 혹시 아실까 싶어 질문드립니다. from email.utils import getaddresses import os, sys from pathlib import Path BASE_DIR = Path(__file__).resolve().parent.parent from django.urls import reverse_lazy from environ import Env env = Env() ENV_PATH = Path(env.str("ENV_PATH", default=str(BASE_DIR / ".env"))) if ENV_PATH.exists(): with ENV_PATH.open(encoding="utf-8") as f: env.read_env(f, overwrite=True) SECRET_KEY = env.str( "SECRET_KEY", default="django-insecure-k-7_h!2*)6jefsxn6k^2@o%jb5tozyd*6^ga+ded==osow#%!!", ) # SECURITY WARNING: don't run with debug turned on in production! DEBUG = env.bool("DEBUG", default=True) ALLOWED_HOSTS = env.list("ALLOWED_HOSTS", default=[]) CSRF_TRUSTED_ORIGINS = env.list("CSRF_TRUSTED_ORIGINS", default=[]) # Application definition INSTALLED_APPS = [ # django apps "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", # third apps "crispy_forms", "crispy_bootstrap5", "django_bootstrap5", "django_components", "django_extensions", "django_filters", "django_htmx", "formtools", # will be deprecated, form wizard "imagekit", "taggit", "template_partials", # local apps "accounts", "board", "core", "pao", "simater", "dvmt", # Django clenup should be placed last "django_cleanup.apps.CleanupConfig", ] CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap5" CRISPY_TEMPLATE_PACK = "bootstrap5" TAGGIT_CASE_INSENSITIVE = env.bool("TAGGIT_CASE_INSENSITIVE", default=True) if DEBUG: INSTALLED_APPS += [ "debug_toolbar", ] AUTH_USER_MODEL = "accounts.User" # Load customized user from accounts app LOGIN_REDIRECT_URL = "/" LOGIN_URL = reverse_lazy("accounts:login") from django.core.exceptions import ImproperlyConfigured EMAIL_HOST = env.str("EMAIL_HOST", default=None) if DEBUG and EMAIL_HOST is None: # EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" else: try: EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" EMAIL_PORT = env.int("EMAIL_PORT") EMAIL_USE_SSL = env.bool("EMAIL_USE_SSL", default=False) EMAIL_USE_TLS = env.bool("EMAIL_USE_TLS", default=False) EMAIL_HOST_USER = env.str("EMAIL_HOST_USER") EMAIL_HOST_PASSWORD = env.str("EMAIL_HOST_PASSWORD") DEFAULT_FROM_EMAIL = env.str("DEFAULT_FROM_EMAIL") SERVER_EMAIL = env.str("SERVER_EMAIL", default=DEFAULT_FROM_EMAIL) except ImproperlyConfigured as e: print("ERROR:", e, file=sys.stderr) EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" MIDDLEWARE = [ "django.middleware.security.SecurityMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", "django.middleware.common.CommonMiddleware", "django.middleware.csrf.CsrfViewMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", "django_htmx.middleware.HtmxMiddleware", "csp.middleware.CSPMiddleware", ] if DEBUG: MIDDLEWARE = [ "debug_toolbar.middleware.DebugToolbarMiddleware", ] + MIDDLEWARE ROOT_URLCONF = "config.urls" TEMPLATES = [ { "BACKEND": "django.template.backends.django.DjangoTemplates", "DIRS": [ BASE_DIR / "core" / "templates", # BASE_DIR / "core" / "src-django-components", ], # "APP_DIRS": True, "OPTIONS": { "context_processors": [ "django.template.context_processors.debug", "django.template.context_processors.request", "django.contrib.auth.context_processors.auth", "django.contrib.messages.context_processors.messages", ], "loaders": [ ( "django.template.loaders.cached.Loader", [ # Default Django loader "django.template.loaders.filesystem.Loader", # Including this is the same as APP_DIRS=True "django.template.loaders.app_directories.Loader", # Components loader "django_components.template_loader.Loader", ], ) ], }, }, ] WSGI_APPLICATION = "config.wsgi.application" # Database # https://docs.djangoproject.com/en/4.2/ref/settings/#databases DEFAULT_DATABASE_URL = f"sqlite:///{BASE_DIR / 'db.sqlite3'}" DATABASES = { "default": env.db(default=DEFAULT_DATABASE_URL) } # Password validation # https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", }, { "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", }, { "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", }, { "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", }, ] # Internationalization # https://docs.djangoproject.com/en/4.2/topics/i18n/ LANGUAGE_CODE = env.str(var="LANGUAGE_CODE", default="ko-kr") TIME_ZONE = "Asia/Seoul" USE_I18N = True USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/4.2/howto/static-files/ STATIC_URL = env.str("STATIC_URL", default="static/") STATICFILES_DIRS = [ # BASE_DIR / "core" / "static", # BASE_DIR / "core" / "src-django-components", ] STATIC_ROOT = env.str("STATIC_ROOT", default=BASE_DIR / "staticfiles") # django-components # - context variable를 resolve하는 방식이 변경 from django_components import ComponentsSettings COMPONENTS = ComponentsSettings( dirs=[ Path(BASE_DIR) / "core" / "src-django-components", ], ) # COMPONENTS = { # "dirs": [ # # BASE_DIR / "components", # default # BASE_DIR # / "core" # / "src-django-components", # ], # # "context_behavior": "django", # default # } STATICFILES_FINDERS = [ # Default finders "django.contrib.staticfiles.finders.FileSystemFinder", "django.contrib.staticfiles.finders.AppDirectoriesFinder", # Django components "django_components.finders.ComponentsFileSystemFinder", ] MIDDLEWARE += [ "django_components.middleware.ComponentDependencyMiddleware", ] # Media files MEDIA_URL = env.str("MEDIA_URL", default="media/") MEDIA_ROOT = env.str("MEDIA_ROOT", default=BASE_DIR / "mediafiles") # Default primary key field type # https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" from django.contrib.messages import constants as messages_constants if DEBUG: MESSAGE_LEVEL = messages_constants.DEBUG INTERNAL_IPS = env.list("INTERNAL_IPS", default=["127.0.0.1"]) if DEBUG: # FORM_RENDERER = "core.forms.renderers.NoCacheDjangoTemplates" INSTALLED_APPS += [ "django.forms", ] DEFAULT_FILE_STORAGE = "django.core.files.storage.FileSystemStorage" ADMIN_PREFIX = os.environ.get("ADMIN_PREFIX", "might/") ## django default loggings : django.utils.logs.DEFAULT_LOGGING ## LOGGING settings LOGGING = { #... } ADMINS = getaddresses([env.str("ADMINS", default="")]) # Django-csp settings CSP_FRAME_ANCESTORS = env.list("CSP_FRAME_ANCESTORS", default=[]) CSP_DEFAULT_SRC = [ "'self'", ] CSP_SCRIPT_SRC = ["'self'", "'unsafe-inline'", "'unsafe-eval'"] + CSP_FRAME_ANCESTORS CSP_STYLE_SRC = [ "'self'", "'unsafe-inline'", ] + CSP_FRAME_ANCESTORS CSP_IMG_SRC = [ "'self'", "data:", ] + CSP_FRAME_ANCESTORS if not CSP_FRAME_ANCESTORS: CSP_FRAME_ANCESTORS = ["'self'"]
미해결
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요. 질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다. 시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다. 오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-) 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. django-csp 4.0 Migration Guide — Django-CSP 4.0 documentation csp 4.0 이 나왔는데 다음과 같이 강의 내용을 변경하면 될까요? ## config/settings.py from csp.constants import SELF INSTALLED_APPS = [ # ... "csp", # ... ] frame_addition = env.list("CSP_FRAME_ANCESTOS". default=[]) CONTENT_SECURITY_POLICY = { "EXCLUDE_URL_PREFIXES": ["/admin"], "DIRECTIVES": { "default-src": [SELF, "*.example.com"]+ frame_addition , "script-src": [SELF, "js.cdn.com/example/"]+ frame_addition , "img-src": [SELF, "data:", "example.com"]+ frame_addition , "csp_frame_ancestors": [SELF] + frame_addition }, } 이런식으로 변경 해주면 충분할까요?
미해결
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
안녕하세요. 강사님. 늘 강의 잘 보고 있습니다. 🙂 오늘 1강부터 청강 시작 했습니다. 윈도우 개발환경에서 파이썬 3.11 설치를 알려주셨습니다. 25년 4월 현재도 여전히 유효한지요? 검토 부탁드립니다. 감사합니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-) 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
미해결
작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
강의에서 나오는 forms.py 파일을 만들어서 커스텀폼을 만드니 A user with that username already exists. username 이 이미 존재하는 에러가 계속해서 발생 (다른 수강생분들도 겪은 에러인듯) 장고 기능이 추가된 건지는 몰라도 PasswordChangeView 를 활용함 views.py class AccountUpdateView(PasswordChangeView): form_class = PasswordChangeForm template_name = 'accountapp/update.html' success_url = reverse_lazy('accountapp:detail') 여기서 success_url 이 정적 url 로 pk 파라미터 값을 전달해주지 못하는 문제가 있음 그래서 수정된 코드는 class AccountUpdateView(PasswordChangeView): form_class = PasswordChangeForm template_name = 'accountapp/update.html' def get_success_url(self): return reverse('accountapp:detail', kwargs={'pk': self.request.user.pk}) 2025년 3월 31일 기준 1) 비밀번호 변경 기능의 기본 View,Form 있음 (PasswordChangeView, PasswordChangeForm) 2) 비밀번호 변경 후 hello_world 페이지로 리다이렉트 시킬거면 success_url = 'accountapp:hello_world' 3) 로그인한 계정의 detail 페이지로 이동한다면 마지막 코드 참고
미해결
작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
1) 앵커태그로 로그인, 로그아웃 구현하고 기존 로그인 되어있던 상황에서 로그아웃을 진행하니 에러가 발생 (405 에러) 2) 장고의 LogoutView 는 POST 요청만 허용함 ?next={{ request.path }} 는 GET 요청으로 logout 누르면 /logout?next=/account/hello_world/ 로 GET 요청하게됨 따라서, 정상적으로 로그아웃뷰를 사용하려면 1) 로그아웃 링크를 POST 요청으로 보내는 폼으로 변경 2) LogoutView 의 설정을 변경하여 GET 요청도 허용 보안상 2는 권장되지 않는 사항이며, 1의 방법으로 처리 {% else %} <form action="{% url 'accountapp:logout' %}" method="post" style="display: inline;"> {% csrf_token %} <button type="submit" class="btn btn-link" style="text-decoration: none; padding: 0; margin: 0;"> <span>Logout</span> </button> </form> {% endif %} 주요 변경사항 1) 로그아웃 앵커 태그를 form 태그로 변경 2) 폼의 method 를 post 로 지정 3) 이에따라 csrf 토큰 추가 추가로 logout 이후 redirect 경로를 설정해줘야하는데, 이는 pragmatic/settings.py 에서 설정 # Logout Redirect URL LOGOUT_REDIRECT_URL = '/account/hello_world/' 마지막 머물렀던 페이지에서 로그아웃이 되게 하고 싶다면, 커스텀 로그아웃뷰를 만들어야하는데, 보안상 권장되지 않는다고 함. +++ 왜인지는 모르겠으나 로그인도 ?next={{ request.path }} 를 먹지 않아서 pragmatic/settings.py 에서 로그인 리다이렉트 URL 을 추가하여 처리하였음 # Login Redirect URL LOGIN_REDIRECT_URL = '/account/hello_world/' # Logout Redirect URL LOGOUT_REDIRECT_URL = '/account/hello_world/' 이 경우 html 템플릿에서 next 를 사용할 필요 없고 사이트 어디서 로그인하던 /account/hello_world 로 리다이렉트 시킴
해결됨
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
안녕하세요! 우선 좋은 강의를 제공해주셔서 정말 감사합니다! 하지만 불편한 점이 있습니다. 강의 자료를 일일이 다운받으니 번거롭고 파일 병합하기도 힘드네요.. 타 강의와 비교하는 것은 죄송하지만, 다른 강의들은 모두 zip파일로 강의자료를 병합하여 업로드해주십니다. 본 강의도 강의자료를 병합하여 한번에 올려주시면 감사하겠습니다!
미해결
파이썬으로 장고(Django) 공략하기: 입문
첨부파일 화면처럼 빨간 줄이 나타납니다. 실행은 전혀 문제가 없이 실행이 잘 됩니다.
미해결
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
파이썬 기초 문법 학습 후 현재 강의를 듣는 중인데 2번 세션 맛보기 반복 숙달 어느정도까지 해야 다음 챕터로 넘어가는 것이 맞나요? 강의 이름은 맛보기인데 중요한 것 들 같아서 반복 숙달을 어느정도 까지 하는게 좋을 지 궁금합니다.
미해결
파이썬으로 장고(Django) 공략하기: 입문
안녕하세요? 좋은 강의 감사 드립니다. 처음 장고 프로젝트를 만들었는데, first 폴더를 만들어 놓았는데 폴더 안에 admin.py, apps.py 등등의 파일이 있는데 파일을 더블클릭을 해서 소스를 보았는데 admin.py 파일 같은 경우에는 from django.contrib import admin 문장이 있는데 django 글자와 admin 글자에 빨간줄이 나타납니다. 답변 부탁 드립니다. 감사합니다.
해결됨
실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
저만 이런거 일 수 도 있는데 혹시나 해서 공유드립니당~ 발생경과: 강의자료에서 다운 받은 코드 docker compose up 실행 컨테이너가 차례대로 올라오지만 beat 컨테이너만 죽는 상황 django_celery_beat.schedulers가 Exits Error 발생 이유: Celery Beat 컨테이너가 마이그레이션이 안된 상황. 방법: celery app 컨테이너 내부 접속 마이그레이트 실행. python manage.py migrate django_celery_beat 별도 로그: 2025-03-04 12:14:22 celery beat v5.3.6 (emerald-rush) is starting. 2025-03-04 12:14:22 - ... - _ 2025-03-04 12:14:22 LocalTime -> 2025-03-04 03:14:22 2025-03-04 12:14:22 Configuration -> 2025-03-04 12:14:22 . broker -> redis://redis:6379/0 2025-03-04 12:14:22 . loader -> celery.loaders.app .AppLoader 2025-03-04 12:14:22 . scheduler -> django_celery_beat.schedulers.DatabaseScheduler 2025-03-04 12:14:22 2025-03-04 12:14:22 . logfile -> [stderr]@%INFO 2025-03-04 12:14:22 . maxinterval -> 5.00 seconds (5s) 2025-03-04 12:14:22 [2025-03-04 03:14:22,430: INFO/MainProcess] beat: Starting... 2025-03-04 12:14:22 [2025-03-04 03:14:22,449: CRITICAL/MainProcess] beat raised exception <class 'django.db.utils.ProgrammingError'>: ProgrammingError('relation "django_celery_beat_periodictask" does not exist\nLINE 1: ...ango_celery_beat_periodictask"."description" FROM "django_ce...\n ^\n') 2025-03-04 12:14:22 Traceback (most recent call last): 2025-03-04 12:14:22 File "/usr/local/lib/python3.11/site-packages/django/db/backends/ utils.py ", line 89, in _execute 2025-03-04 12:14:22 return self.cursor.execute(sql, params) 2025-03-04 12:14:22 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-03-04 12:14:22 psycopg2.errors.UndefinedTable: relation "django_celery_beat_periodictask" does not exist 2025-03-04 12:14:22 LINE 1: ...ango_celery_beat_periodictask"."description" FROM "django_ce... 2025-03-04 12:14:22 ^