묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
serializer에서 query문 작성
serializer는 직렬화를 담당하는 클래스인데 이 안에서 orm으로 query 메서드를 정의하는 게 괜찮은 방법인가요? layered architecture라고 한다면 repository 클래스를 만들텐데, django에서는 이런 방식이 권장되는 방법인지 궁금합니다.repository class에 query 메서드를 작성하고 queryset에 할당해주는 방법은 괜찮은가요?감사합니다.
-
미해결Django 프레임워크 제대로 배우기 Part.2
csrf 토큰을지정했는데 가끔가다 403오류가 뜨는데 왜그러죠?
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Memmo Write Form</title> <style> form > label{ display: inline-block; width: 120px; } form > input{ padding : 4px; margin-bottom : 4px; } </style> </head> <body> <h1>Onememo Form</h1> <form action="http://localhost:8000/onememos/createMemo/" method="POST" id="memoWriteForm"> {%csrf_token%} <label for="memo">한줄메모</label> <input type="text" id="memo" name="memoContent" size="100" placeholder="내용을 입력해주세요." autocomplete="off"> <br> <label for="memo">이름</label> <input type="text" id="memo" name="memoName" size="100" placeholder="내용을 입력해주세요." autocomplete="off"> <br> <label for="memo">이메일</label> <input type="text" id="memo" name="memoEmail" size="100" placeholder="내용을 입력해주세요." autocomplete="off"> <br> </form> <div> <button type="submit" form="memoWriteForm">등록</button> </div> </body> </html>
-
미해결플러터와 장고로 1시간만에 퀴즈 앱/서버 만들기 [무작정 풀스택]
heroku 푸시 에러
! [remote rejected] master -> master (pre-receive hook declined) 이 에러가 계속 나오는데 검색해서 나오는master를 main으로 바꾸거나.. force 하거나... 등등 뭐 나오는 거 다 해 보고 스택오버플러우 챗지피티랑 구글 제미나이한테 물어봤는데 하라는 대로 해도 계속 안 됩니다.. 포기 일보 직전인데 방법이 있을까요.. 참고로 플러터까진 잘 듣다가 파이썬이랑 쟝고 몰라서 맹목적으로 따라하는 중인데 이게 의미가 있는 건지 모르겠습니다.. ㅜ깃랩도 처음 깔았고요(깃허브는 전에 가입만 했음)
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
Task Routing 부분 보니까요
강의에서는 1개의 Queue에 1개의 celery서버가 할당되어 있는 구조인데요. 1개의 Queue에 여러대의 celery 서버가 할당되어 있는 구조도 문제없는 구조 일까요? 예를 들어 celery 3대의 서버가 모두 대기상태일때 동일한 queue를 바라보면 메세지가 하나 날라왔을 때 동시에 3대의 celery 서버가 같은 큐를 처리할 것 같아서요. 그리고 같은 task에 대해서 queue 여러개로 로드밸런스하고 싶다면 어떻게 하는게 좋을까요?
-
해결됨장고 설계철학으로 시작하는 파이썬 장고 입문
개발환경 구축 관련하여 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 기존에 python을 웹에서 설치를 진행 했었습니다.get-commad python 명령어를 실행할 경우 기존에 사용하던 version과 설치 돼 있는 경로가 제가 예전에 만들었던 가상환경에 python.exe.로 표시 돼 있는데 scoop으로 도 python설치를 진행 했을 경우 get-commad python 명령어를 입력했을 때 scoop/apps 안에 있는 파이썬 버젼을 가져오는 방법이 있을까요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
04-13) slugify가 작동하지 않습니다
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요.질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다.시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다.오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-)인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ===================================Song 모델, slug 필드 추가에서 질문이 몇 가지 있습니다.우선, Meta 속성 추가는 makemigration을 위한 것이고, get_absolute_url method는 template에서 호출하기 위해 정의한 것으로 이해했습니다.첫 질문은 makemigration을 두 단계로 나눈 이유가 있나요? class Migration(migrations.Migration): dependencies = [ ("hottrack", "0001_initial"), ] operations = [ migrations.AddField( model_name="song", name="slug", field=models.SlugField(allow_unicode=True, blank=True), ), migrations.AddIndex( model_name="song", index=models.Index(fields=["slug"], name="hottrack_so_slug_7cf104_idx"), ), migrations.RunPython(forward_code, reverse_code=migrations.RunPython.noop) ] 이런식으로 한번에 처리하면안되나요? 또한 영상 8:06 실습 영상에서는 생략되어있지만 5:40 설명하실 때는 class Song(models.Model): melon_uid = models.CharField(max_length=20, unique=True) rank = models.PositiveSmallIntegerField() album_name = models.CharField(max_length=100) name = models.CharField(max_length=100) artist_name = models.CharField(max_length=100) cover_url = models.URLField() lyrics = models.TextField() genre = models.CharField(max_length=100) release_date = models.DateField() like_count = models.PositiveIntegerField() slug = models.SlugField(allow_unicode=True, blank=True) class Meta: # Model의 related field, primary key에 대해서는 자동으로 index가 생성된다. # 이외에 model을 쿼리할 때 자주 사용되는 field인 경우 index 생성을 고려해보는 것이 좋다 indexes = [ models.Index(fields=["slug"]) ] def slugify(self, force=False): if force or not self.slug: self.slug = slugify(self.name, allow_unicode=True) def save(self, *args, **kwargs): self.slugify() super().save(*args, **kwargs) @property def get_absolute_url(self) -> str: # slug = slugify(self.name, allow_unicode=True) ###################################################### print("-----------check-----------") self.save() # 강의 상에서 누락 ####################################################### return reverse( viewname="hottrack:song_date_detail", args= [ self.release_date.year, self.release_date.month, self.release_date.day, self.slug, ] # kwargs={"pk": self.pk} )get_absolute_url 내부에 self.slugify()를 호출하여 detail 버튼을 클릭하였을 때 slug가 없으면 name으로 부터 slugify를 수행하는 것으로 이해하였는데 그 경우 db에 저장되지 않습니다. 그래서 제 경우 임으로 self.save()로 줄을 추가하여 db에 저장되도록 하였습니다.테스트를 위해 0002 migration만 진행하여 빈 slug필드만 생성하였습니다.그러나 버튼을 눌러 페이지를 호출 시url은 정상적으로 생성되었으나 db 업데이트가 이루어지지 않아 404 not found가 발생합니다. 추가적으로print 문도 stream에 나오지 않습니다. 아마 template단에서 method를 콜해서 그런거 같은데 문제가 뭔가요?만약 제가 이해한 바가 틀리다면, save와 slugify method는왜 정의했으며 어디에 사용되는 건가요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
04-04 강의에서 질문 있습니다
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요.질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다.시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다.오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-)인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. JS로 토스트 스타일 메시지 노출에서 JS와 장고 템플릿이 강하게 결합되어 있어 react와 같은 것을 적용하기 어렵다고 하셨는데 그게 무슨 뜻인가요?| 가 템플릿에서 원래 필터라고 배웠는데 json_script를 키로 하여 closure 함수를 매핑하는 것은 어떤 원리인가요?--> 이와 관련하여 단순히 views.py 에서 serialize된 List[dict]를 context에 반환 시키는 것보다 저런 식으로 context processor를 사용하는 것은 toast 메시지를 여러 페이지에서 사용할 수 있을 수도 있기 때문인가요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
django htmx 외에 몇 가지 질문 있습니다.
@login_required_hx def note_delete(request, pk): note = get_object_or_404(Note, pk=pk, author=request.user) if request.htmx: note.delete() messages.success(request, "기록을 삭제했습니다.") return HttpResponseClientRedirect(redirect_to=reverse_lazy("photolog:index")) photolog 삭제 기능은 다루시지 않으셨길래 htmx로 구현해보고 있었습니다. 여기서 get_object_or_404를 설정하면 해당하는 쿼리셋 결과가 없을때 404오류를 반환해야하는데 htmx때문에 404 오류를 발생시키지 않습니다. 이 경우엔 어떻게 에러를 해결해야하나요?HttpResponseClientRedirect을 통한 리다이렉트 요청은 함수기반뷰에서는 작동하지만 클래스 기반뷰에서는 작동하지 않았습니다. 이유가 무엇일까요? (form_valid 메서드에 HttpResponseClientRedirect만 추가해서 재정의 했습니다) 여러 파일을 등록해보았는데 같은 png 파일이지만 특정 파일은 등록할 수 없었습니다.OSError at /new/ cannot write mode P as JPEG 오류가 발생하길래 기존 RGBA를 RGB로 변환하는 부분을 아래와 같이 수정했습니다.if pil_image.mode != "RGB": pil_image = pil_image.convert("RGB") jpeg로 변환시에는 모든 타입에 대해서 RGB로 변환을 하는게 일반적인건가요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
django, next.js 관련 질문 있습니다.
안녕하세요 강의 잘 보고 있습니다.강의가 업데이트 될 때까지 django에 대해서 좀 더 연습해보려고 개인프로젝트 준비중에 앞서 질문드릴게 있습니다.1. django를 개발할때 유용한 라이브러리들을 추천 받고 싶습니다.매번 코드 변경 후 브라우저를 새로고침 해야하는게 너무 불편해서 개선할 방법을 찾다가 django-browser-reload 라는 템플릿 내용이 변경될 때 마다 자동으로 브라우저를 새로고침 해주는 라이브러리를 알게되어서 만족하며 사용하고 있습니다.강의에서 소개해주신 라이브러리들도 굉장히 편하더라고요 물론 사용할 때는 사용법도 익혀야 한다는 점이 있지만 그런 라이브러리와 달리 django-browser-reload 처럼 간단하고 개발자의 편의성을 개선할 수 있는 라이브러리가 또 무엇이 있는지 궁금합니다.crispy-form은 편리합니다. 다만 html과 달리 forms에서는 css_class를 사용하여 레이아웃을 지정할 때 어떠한 css class가 존재하는지 알려주지 않는다는것이 아쉽네요. 개선할 방법이 있을까요?Javascript의 prettier처럼 django templates에서 html 파일을 저장하는 액션이 발생할 때 자동으로 코드 정리 할 수 있는 포멧터도 있을까요?2. 이후에 다룰 섹션 16 SPA 하이브리드 방식으로 장고/리액트 중심의 서비스 만들기에서 입력 form은 django form을 사용하여 작성해서 사용자가 form을 사용 할 때에만 django 페이지로 이동하고 그 이외에 디자인을 세심하게 해야 되는 페이지들은 drf + next.js로 다루게 되는건가요?React 기반 프레임워크에서 form 유효성 검사를 하는것은 생각보다 까다롭더라고요.그런데 django form을 사용하게되면 그 부분을 빠르게 처리 할 수 있고 나머지 페이지들에 대해선 django component를 사용해서 템플릿을 구성하는거 보다는 React 기반에서 컴포넌트를 구성해서 페이지를 렌더링 하는게 더 편할거 같다고 생각했습니다.만약 해당 방법대로 프로젝트를 구성하게 된다면 장점도 있겠지만 단점도 존재하게 될텐데 단점들은 무엇이 있을까요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
11-23 컴포넌트가 제대로 동작하지 않는것 같습니다.
https://github.com/pyhub-kr/course-django-complete-guide-v3/commit/ea385575c83d8a2ff6b0407352ec419034a1be30관련커밋 내용을 그대로 복사하여 적용하였습니다. (image_overlay, index.html)컴포넌트에서 첫 번째 레코드 요소만 반복되어 적용 됩니다. (이미지를 포함하여 제목까지 똑같습니다.)myproj/photolog/templates/photolog/index.html 가 문제 인거 같습니다.myproj/photolog/templates/photolog/index.html 임의 수정{% extends "photolog/base.html" %} {% load component_tags %} {% block photolog-content %} <div class="container"> <div class="row"> {% for note in note_list %} {% with img_url=note.photo_set.all.0.image.url %} {% component "image-overlay" href="/" target="_blank" class="col-xl-3 col-lg-4 col-md-6 mt-4" %} {% fill "img-src" %}{{ img_url }}{% endfill %} {% fill "text" %} {{ note.title }}<br/> <small>by {{ note.author.username }}</small> {% endfill %} {% endcomponent %} {% endwith %} {% endfor %} </div> </div> {% endblock %}기존 코드에서 with, {{ img_url }}을 추가하여 수정 하였습니다.위와 같이 수정하니 컴포넌트가 정상적으로 불러와졌습니다.myproj 버전[[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] django = "*" black = "*" django-extensions = "*" django-environ = "*" django-template-partials = "*" django-htmx = "*" django-crispy-forms = "*" crispy-bootstrap5 = "*" django-components = "*" pillow = "*" django-lifecycle = "*" [dev-packages] django-debug-toolbar = "*" ipython = "*" [requires] python_version = "3.12"
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
관련 책이 언제 나올까요?
관련 도서 출간은 언제쯤 예상하시나요?건강하시길 바라요~
-
미해결Vue.js - Django 연동 웹 프로그래밍 (실전편)
VUE에서 라우터를 쓰면 django랑 연동이 안되나요?
vue에서 라우터 기능이 정말 좋다고 생각했는데 강의에서 메인콤포넌트로 해서 공유했던 방식이 아니라 메인 페이지에 두고 라우터 기능으로 하단만 바뀌게 하는게 훨씬 좋을 것 같아서요. vue라우터 기능을 못쓰면 장고랑 연동할지도 고민이 됩니다. 꼭 답변 부탁드려요. ㅠㅠ
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
django manage.py 명령어 실행에 오류가 발생합니다.
안녕하세요~잘 되던 python manage.py 명령어에서 오류가 발생합니다. 아마 개인 실습 중에 진행한 어떤 작업이 영향을 미친 것 같습니다. ㅜㅜ 가상환경 생성에 사용되는 pyenv로 설치한 파이썬에서 문제가 발생했나 싶어 해당 파이썬을 지우고, 다른 파이썬 버전에서 실행해보았는데 동일한 오류가 발생합니다. 아래는 python -m venv로 가상환경을 생성하고, 거기에 django를 설치한 후 python manage.py runserver를 실행시켰을 때 나타나는 오류 메시지 입니다. 짚이시는 부분이 있다면 공유 좀 부탁리겠습니다. 오류 메시지Traceback (most recent call last): File "D:\Books\demo\venv\lib\site-packages\django\core\management\base.py", line 413, in run_from_argv self.execute(*args, **cmd_options) File "D:\Books\demo\venv\lib\site-packages\django\core\management\commands\runserver.py", line 74, in execute super().execute(*args, **options) File "D:\Books\demo\venv\lib\site-packages\django\core\management\base.py", line 459, in execute output = self.handle(*args, **options) File "D:\Books\demo\venv\lib\site-packages\django\core\management\commands\runserver.py", line 81, in handle if not settings.DEBUG and not settings.ALLOWED_HOSTS: File "D:\Books\demo\venv\lib\site-packages\django\conf\__init__.py", line 89, in __getattr__ self._setup(name) File "D:\Books\demo\venv\lib\site-packages\django\conf\__init__.py", line 76, in _setup self._wrapped = Settings(settings_module) File "D:\Books\demo\venv\lib\site-packages\django\conf\__init__.py", line 190, in __init__ mod = importlib.import_module(self.SETTINGS_MODULE) File "C:\Users\ktsfr\.pyenv\pyenv-win\versions\3.10.3\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked ModuleNotFoundError: No module named 'django_aws_lambda' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:\Books\demo\myproject\manage.py", line 22, in <module> main() File "D:\Books\demo\myproject\manage.py", line 18, in main execute_from_command_line(sys.argv) File "D:\Books\demo\venv\lib\site-packages\django\core\management\__init__.py", line 442, in execute_from_command_line utility.execute() File "D:\Books\demo\venv\lib\site-packages\django\core\management\__init__.py", line 436, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "D:\Books\demo\venv\lib\site-packages\django\core\management\base.py", line 426, in run_from_argv connections.close_all() File "D:\Books\demo\venv\lib\site-packages\django\utils\connection.py", line 84, in close_all for conn in self.all(initialized_only=True): File "D:\Books\demo\venv\lib\site-packages\django\utils\connection.py", line 76, in all return [ File "D:\Books\demo\venv\lib\site-packages\django\utils\connection.py", line 73, in __iter__ return iter(self.settings) File "D:\Books\demo\venv\lib\site-packages\django\utils\functional.py", line 47, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "D:\Books\demo\venv\lib\site-packages\django\utils\connection.py", line 45, in settings self._settings = self.configure_settings(self._settings) File "D:\Books\demo\venv\lib\site-packages\django\db\utils.py", line 148, in configure_settings databases = super().configure_settings(databases) File "D:\Books\demo\venv\lib\site-packages\django\utils\connection.py", line 50, in configure_settings settings = getattr(django_settings, self.settings_name) File "D:\Books\demo\venv\lib\site-packages\django\conf\__init__.py", line 89, in __getattr__ self._setup(name) File "D:\Books\demo\venv\lib\site-packages\django\conf\__init__.py", line 76, in _setup self._wrapped = Settings(settings_module) File "D:\Books\demo\venv\lib\site-packages\django\conf\__init__.py", line 190, in __init__ mod = importlib.import_module(self.SETTINGS_MODULE) File "C:\Users\ktsfr\.pyenv\pyenv-win\versions\3.10.3\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked ModuleNotFoundError: No module named 'django_aws_lambda'
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
커리큘럼 관련 문의건
좋은 강의 감사합니다!혹시 테스트코드는 커리큘럼에 없죠...?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
11-29 django-taggit 라이브러리
해당 강의에서 @hook의 AFTER_SAVE를 이용하여 tags를 업데이트 하는 것으로 확인하였습니다. 그렇다면 content의 내용에 수정이 이루어진 Note들은 tags 필드가 업데이트가 되지만 수정을 하지 않은 기존 Note들은 tags 필드가 비어있게 되는 것 같습니다. Content 수정한 Note : tags 필드가 hook에 의하여 업데이트 되어 저장됨Content 수정하지 않은 기존 Note : tags 필드가 업데이트 되어있지 않음혹시 강의 중에 제가 놓치거나 한 부분이 있을까요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
메모리 효율성을 개선한 버전 질문 있습니다.
for chunks in get_chunks(zipcode_list, chunk_size=1000): print("chunk size:", len(list(chunks))) ZipCode.objects.bulk_create(chunks)https://gist.github.com/allieus/f16d5d35b84d418cbabcfed8e69b96e2깃허브 Gist에 올라온 코드를 그대로 복사 붙여넣기 하고 마이그레이트를 했더니 데이터 베이스에 데이터가 삽입이 안되었습니다.그래서 디버깅을 해보았는데 위에 해당 코드블럭 부분에서 print("chunk size:", len(list(chunks)))은 그저 디버깅을 위한 코드일텐데 해당 구문이 bulk_create 보다 먼저 선언 되어있다면 데이터 삽입이 이루어지지 않습니다.Django 버전 문제인가 싶어서 5.0.4에서 4.2.7로 버전을 내린 다음 해봐도 결과는 같네요. 제너레이터 문법은 이번 강의에서 처음 접하였는데 해당 문법과 연관이 있는것인가요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
[View 함수를 통한 요청 처리] 챕터 아카이브 관련 질문 있습니.
<div> <h3>Nav</h3> <div class="alert alert-info"> 지난/다음 달 context data를 지원 </div> <div class="btn-group d-flex w-100"> {% if previous_month.year and previous_month.month %} <a href="{% url 'hottrack:song_archive_month' previous_month.year previous_month.month %}" class="btn btn-primary"> 지난 달 </a> {% endif %} {% if next_month.year and next_month.month %} <a href="{% url 'hottrack:song_archive_month' next_month.year next_month.month %}" class="btn btn-primary"> 다음 달 </a> {% endif %} </div> </div>2014-02 , 2023-09 release_date의 최소, 최대 구간에서 조회시 에러가 납니다. 깃허브 및 강의 내용 확인 결과 처리하는 부분이 반영이 안되어있는거 같습니다./hottrack/archives/2020/week/35/2020년 35주, 2020년 23주, 2020년 14주, 2019년 39주, 2014년 7주다른 부분은 정상 작동 되지만 해당 부분에서 에러가 납니다.2020의 35주는 8월24일, 2014년 7주는 2월10일 부터인데 데이터 베이스에서 조회 할때는 확인 됩니다.매번 장고 프로젝트를 생성하고 환경설정 하는게 번거로워서 미리 초기 세팅을 해놓은 프로젝트에 깃허브 저장소에서 mydjango03-hottrack에서 hottrack 앱을 복사하였고 [View 함수를 통한 요청 처리]의 내용을 그대로 따라 진행했습니다.git clone으로 저장소에서 mydjango04를 받고 테스트 해보려 했었는데 env 파일이 없어서 에러가 나기에 테스트를 못해봐서 왜 저 부분에서만 에러가 나는것인지 궁금해서 질문드립니다.버전 호환성에 따라 문제가 될 수 도 있을거 같아서 제가 설정한 초기 세팅 부분은 혹시 모르니 첨부 해놓았습니다.Pipfile[[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] django = "*" djangorestframework = "*" djangorestframework-simplejwt = "*" django-filter = "*" django-extensions = "*" django-environ = "*" django-cors-headers = "*" django-template-partials = "*" django-htmx = "*" psycopg2-binary = "*" pillow = "*" markdown = "*" ipython = "*" black = "*" requests="2.31.0" pandas = "2.1.3" django-bootstrap5 = "*" [dev-packages] pytest-django = "*" django-debug-toolbar = "*" httpie = "*" [requires] python_version = "3.12"Env# 암호키 SECRET_KEY=django-insecure-sf($0b=0xjgkzmsyu%*bn6cx9$_b%*rz=%$whp8(-^_q+ # 데이터 베이스 DATABASE_ENGINE=django.db.backends.postgresql DATABASE_HOST=localhost DATABASE_PORT=5432 DATABASE_NAME=mydb4 DATABASE_USER=myuser4 DATABASE_PASSWORD=mypw4 # 코어스 ALLOWED_HOSTS=localhost,127.0.0.1 CORS_ALLOWED_ORIGINS=http://127.0.0.1:3000,http://localhost:3000 CORS_ALLOW_CREDENTIALS=True # 타임존 LANGUAGE_CODE=ko-kr TIME_ZONE=Asia/Seoul USE_TZ=False # 디버그 DEBUG=True INTERNAL_IPS=127.0.0.1
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
11-07 htmx를 이용한 logout 구현 toast_messages.js 에러
hx-post 형식으로 logout을 구현하면서 body가 업데이트 되었을 때 .toast-container를 찾지 못해 에러가 나는 것 같습니다. 해당 강의 영상에서도 오류가 발생 한것으로 보이는데 해결방법을 물어뵈도 될까요? 에러가 발생하는 부분은 core/static/toast-messages.js 파일이며 const container = document.querySelector(".toast-container"); container.insertAdjacentHTML("afterbegin", html);이 부분에서 에러가 발생합니다. 콘솔 출력 오류는 아래와 같습니다. VM31 toast-messages.js:38 Uncaught TypeError: Cannot read properties of null (reading 'insertAdjacentHTML') at HTMLBodyElement.<anonymous> (VM31 toast-messages.js:38:15) at Object.ce [as trigger] (VM27 htmx.min.js:1:27036) at <anonymous>:6:18 at <anonymous>:7:13 at At (VM27 htmx.min.js:1:23205) at Nt (VM27 htmx.min.js:1:23332) at VM27 htmx.min.js:1:10573 at VM27 htmx.min.js:1:45022 at oe (VM27 htmx.min.js:1:4868) at s (VM27 htmx.min.js:1:44997)
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
구글 로그인 오류 .
강의와 동일하게 진행을 했음에도 불구하고 오류가 계속 나옵니다 . 어떻게 해야할지 구글링을 해보아도 답을 찾기 힘들어 질문합니다 해결방법을 알려주시면 정말 감사하겠습니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
이번 강의에서는 SONG이라는 sqlite3 데이터베이스를 import 하지 않았는데 데이터가 혹시 어디서 불러진 건가요???
model.py를 보면 Song클래스가 정의되었는데 데이터가 어디서 불러와 졌는지를 잘 모르겠습니다ㅠ 도움 부탁드립니다. from __future__ import annotations from datetime import date from typing import Dict from urllib.parse import quote from django.db import models from django.utils.html import format_html # 파이썬 3.7부터 지원 # @dataclass class Song(models.Model): # 장고 모델 아니고 일반 파이썬 클래스! melon_uid = models.CharField(max_length=20, unique=True) rank = models.PositiveSmallIntegerField() album_name = models.CharField(max_length=100) name = models.CharField(max_length=100) artist_name = models.CharField(max_length=100) cover_url = models.URLField() lyrics = models.TextField() genre = models.CharField(max_length=100) release_date = models.DateField() like_count = models.PositiveIntegerField() @property def cover_image_tag(self): return format_html('<img src="{}" style="width: 50px;">', self.cover_url) @property def melon_detail_url(self) -> str: melon_uid = quote(self.melon_uid) return f"https://www.melon.com/song/detail.htm?songId={melon_uid}" @property def youtube_search_url(self) -> str: search_query = quote(f"{self.name}, {self.artist_name}") return f"https://www.youtube.com/results?search_query={search_query}" @classmethod def from_dict(cls, data: Dict) -> Song: return cls( melon_uid=data.get("곡일련번호"), rank=int(data.get("순위")), album_name=data.get("앨범"), name=data.get("곡명"), artist_name=data.get("가수"), cover_url=data.get("커버이미지_주소"), lyrics=data.get("가사"), genre=data.get("장르"), release_date=date.fromisoformat(data.get("발매일")), like_count=int(data.get("좋아요")), )