묻고 답해요
121만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결<M.B.I.T> 테스트 페이지 만들기! with Django
제출버튼 클릭하면 오류 발생
마지막 단계에서 제출버튼 클릭하니 위와 같은 오류가 발생합니다. 어떻게 해결해야해 하나요 ?
-
미해결ChatGPT 영어 상황극 채팅 서비스 만들기 (Feat. 파이썬/장고채널스)
브라우저에서 지원하는 Voices의 종류
「TTS 엔진을 통해 메시지를 음성으로 읽어주기」 파트 수업을 듣던 중, 강사님의 화면과 다르게 20개밖에 조회가 되지 않아서 그 이유가 궁금해 글을 남기게 되었습니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
simple-jwt Refresh Token 사용 노하우
안녕하세요. 진석님!강의에서 알려주신 drf-jwt 말고, 다른 수강생분이 문의한 글에서 보니 simple-jwt도 있다고 하셔서 doc 읽어보면서 토큰 적용해보고 있는데요. 로그인 성공하면 access / refresh 토큰 발행되고, access 토큰이 만료되면 refresh 토큰으로 access 토큰을 재발행해야 한다고 이해했습니다. (refresh 토큰 만료기한도 장고 설정값 있는 것 확인했구요!) 궁금한점은.. access 토큰을 갱신하는 방향이 크게 두 가지 일 것 같은데, 어떤식으로 가야하는 걸까요?1) useEffect 훅 안에서 setInterval로 주기적 갱신2) 강의에서 만들어주신 useAppContext 안에서 토큰 만료여부 확인 후 명시적 갱신 3) 다른방법
-
미해결Django 프레임워크 제대로 배우기 Part.1
구름 IDE에서 django-admin startproject [프로젝트 이름]가 안되요.
django-admin startproject [프로젝트 이름]이 안되서 django-admin startproject [프로젝트 이름] . 같이 . 을 뒤에 붙여주니 강의에서 말씀하신대로 되더라구요. 혹시 이 .의 의미가 뭔지 알 수 있을까요 ?
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
atom install package search not working
위와 같이 package를 검색했더니 계속 이런 문구가 나오는데 어떻게 해결하면 되나요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
docker compose 를 통한 배포 관련 오류 문의
안녕하세요. 강사님django의 기능들이 너무 많아 전체 흐름이 기억 나지 않을 때 계속해서 보고 있습니다.항상 좋은 강의 감사드립니다.drf로 만든 부분을 이번에는 pytest로 테스트 코드를 작성해보려고 하는데요.docker-compose-test.yml로 작성한 test용 mysql container를 띄웠습니다.하지만 테스트 코드를 실행하면 접근할 수 없다는 에러가 발생됩니다."Access denied for user 'project'@'localhost' (using password: YES)")구글링을 해봤고, 그래서 다음 순서로 확인을 해봤습니다.host namedb namepasswordportprint 로 출력했지만 동일한 내용으로 확인되었습니다. .env 내용.env 를 사용하여 compose에게 환경 정보를 읽어오도록 설정했습니다. DJANGO_SECRET_KEY=... # COMMON DB_ENGINE='django.db.backends.mysql' # DEVELOP DB DEV_DB_HOST='db.mysql' DEV_DB_USER='project' DEV_DB_PASSWORD='a1s2d3f4' DEV_DB_NAME='account_book' DEV_DB_PORT='3306' # TEST DB TEST_DB_HOST='test.mysql' TEST_DB_USER='test' TEST_DB_PASSWORD='a1s2d3f4' TEST_DB_NAME='test' TEST_DB_PORT='3310'docker-compose-test.yml 내용과 실행 명령어실행 명령어: docker-compose -f docker-compose-test.yml up위 명령어를 실행한 후 docker container ls 로 확인하면 다음 상태가 뜹니다.docker-compose-test.yml 내용은 다음과 같습니다. version: "3" services: test.mysql: container_name: test.mysql image: mysql:8.0.32 command: --authentication_policy=mysql_native_password restart: always environment: MYSQL_ROOT_PASSWORD: ${TEST_DB_PASSWORD} MYSQL_USER: ${TEST_DB_USER} MYSQL_PASSWORD: ${TEST_DB_PASSWORD} MYSQL_DATABASE: ${TEST_DB_NAME} TZ: Asia/Seoul volumes: - test_mysql_db:/var/lib/mysql ports: - ${TEST_DB_PORT}:3306 expose: - ${TEST_DB_PORT} volumes: test_mysql_db: django의 설정 부분은 backend/config/settings 밑에 base.py , develop.py, test.py 로 나눴습니다.위 docker compose는 아래 test.py 에 있는 db 정보와 일치하도록 했습니다.from config.settings.base import * INSTALLED_APPS += [ "debug_toolbar", ] MIDDLEWARE = [ "debug_toolbar.middleware.DebugToolbarMiddleware", ] + MIDDLEWARE # Database # https://docs.djangoproject.com/en/4.2/ref/settings/#databases DATABASES = { "default": { "ENGINE": env.str("DB_ENGINE"), # "HOST": env.str("TEST_DB_HOST"), "HOST": "localhost", "USER": env.str("TEST_DB_USER"), "PASSWORD": env.str("TEST_DB_PASSWORD"), "NAME": env.str("TEST_DB_NAME"), "PORT": env.int("TEST_DB_PORT"), "TEST": {"NAME" : "test"} }, } print(DATABASES) # 아래 내용이 출력됩니다. """ {'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': 'localhost', 'USER': 'test', 'PASSWORD': 'a1s2d3f4', 'NAME': 'test', 'PORT': 3310, 'TEST' : {'NAME' : 'test'}, } } """host를 env.str("TEST_DB_HOST")로 하면 test.mysql 을 찾을 수 없다고 뜹니다. 하지만 localhost로 하면 "Access denied for user 'test'@'localhost' (using password: YES)") 에러가 발생됩니다.mysql만 docker compose 로 띄우고, pytest로 코드를 실행했습니다. db 접속은 @pytest.mark.django_db 데코레이터를 사용했습니다. pytest.ini 설정[pytest] DJANGO_SETTINGS_MODULE = backend.config.settings.test django_debug_mode = true addopts = --create-db --no-migrations python_files = "test_*.py" markers = signup--no-migrations 옵션을 제거해도 동일한 에러가 발생됩니다. 디렉토리 구조 . ├── Dockerfile ├── Dockerfile.dev ├── README.md ├── backend │ ├── __init__.py │ ├── common │ │ ├── conftest.py │ │ └── models.py │ ├── config │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── develop.py │ │ │ ├── production.py │ │ │ └── test.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── manage.py │ ├── static │ ├── templates │ └── users │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── models.py │ ├── serializers.py │ ├── test │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_api.py │ │ └── utils.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── docker-compose-dev.yml ├── docker-compose-test.yml ├── docker-compose.yml ├── poetry.lock ├── pyproject.toml └── pytest.ini 지난 번 mysql docker 관련하여 질문드렸을 때 port 부분을 알려주셔서 port 부분 정보는 일치하도록 했으나, 제 눈에는 정보가 다른 걸 찾기 어려워 혼자 해보다가 결국 올립니다 ㅠㅠ 읽어주셔서 감사합니다 ㅠㅠ
-
미해결파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
수량
여기서 testproduct 아래에 수량 창이 하나더 뜨나요?코드에서 어디부분때문에 그런건가요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
파이썬 속도 장고 관련 궁금한게 있습니다.
파이썬이 지금 마이크로소프트에서 속도 5배정도 올리는 프로젝트 하고 있는데.(https://www.youtube.com/watch?v=hgmz0NJugEc&t=120s)파이썬 속도가 올라가면 장고도 당연히 속도가 올라가는 거겠죠? 2. 파이썬이나 장고가 SI 혹은 스타트업에서 쓰이는 비중이 늘어나고 있나요? AWS Lambda에서는 파이썬 꾀나 쓰는걸로 보이더라구요. (저도 직전 플젝이 lambda파이썬 썼네요)리뉴얼 기대됩니다........ㅎㅎ
-
미해결파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
test_mall .payment_detail
payment_detail이 안나옵니다.근데 여기서부터 살짝 이상합니다..이메일을 쓰고 다음 누르고 하면 결제까지는 잘되는데 결제하고 나서이 오류가 뜹니다.어디부분 부터 보면 좋을까요?일단 코드 오타 있는지 확인은 한번 해봤는데 아직 까지는 못 찾았습니다.
-
미해결파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
장고나 파이썬버전
장고 4.0.10이랑 python 3.10.4버전도 진도 따라가는데 괜찮나요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
is_like_user
안녕하세요 선생님 !좋아요 기능을 구현하던 중에, is_like_user 메서드를 왜 model 에서 정의하는지 궁금해서 질문 드립니다.is_follow 와 같이 view 에서 정의한 후에 바로 템플릿에서 {%if is_like_user %} 로 넣으면 안되는 걸까요? 그리고 view 가 아니라 model 에서 정의하고 {%if is_like_user %} 이렇게 넣으면 안되는 걸까요..? ㅜㅜ 감사합니다 !!
-
미해결장고 설계철학으로 시작하는 파이썬 장고 입문
sql
mySQL연동 해봤는데 옆에 mintchoco디렉터리에 db.sqlite같은 파일 없는게 정상인가요?그리고 만약 서버에 배포할려고하는데 db같은경우는 Settings.py에서 DATABASES=[]에서 host 변수에 서버 주소만 주면 되나요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
related_name 오류
안녕하세요 강사님,, 또 오류가 나서 질문 드립니다 ㅜㅜclass User(AbstractUser): class GenderChoices(models.TextChoices): MALE = "M", "남성" #전자는 DB에 저장되는 값, 후자는 실제 보여지는 값 FEMALE = "F", "여성" follower_set = models.ManyToManyField( "self", blank=True, symmetrical=False, related_name="following_set", ) following_set = models.ManyToManyField( "self", blank=True, symmetrical=False, related_name="follower_set", )이렇게 단방향으로 맞춰주었는데,저장을 하면 django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues: ERRORS: accounts.User.follower_set: (fields.E302) Reverse accessor for 'accounts.User.follower_set' clashes with field name 'accounts.User.following_set'. HINT: Rename field 'accounts.User.following_set', or add/change a related_name argument to the definition for field 'accounts.User.follower_set'. accounts.User.follower_set: (fields.E303) Reverse query name for 'accounts.User.follower_set' clashes with field name 'accounts.User.following_set'. HINT: Rename field 'accounts.User.following_set', or add/change a related_name argument to the definition for field 'accounts.User.follower_set'. accounts.User.following_set: (fields.E302) Reverse accessor for 'accounts.User.following_set' clashes with field name 'accounts.User.follower_set'. HINT: Rename field 'accounts.User.follower_set', or add/change a related_name argument to the definition for field 'accounts.User.following_set'. accounts.User.following_set: (fields.E303) Reverse query name for 'accounts.User.following_set' clashes with field name 'accounts.User.follower_set'. HINT: Rename field 'accounts.User.follower_set', or add/change a related_name argument to the definition for field 'accounts.User.following_set'.계속 이렇게 오류가 뜹니다 ㅜㅜ 왜이럴까요..허허 ㅜㅜ
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
re_path 오류
안녕하세요 강사님,accounts/urls.py 에서 re_path 부분에서 계속 오류가 나는데 왜 이런건지 모르겠어서 질문 드립니다 ㅜㅜurlpatterns = [ path('login/', views.login, name='login'), path('logout/', views.logout, name='logout'), path('password_change/', views.password_change, name='password_change'), path('signup/', views.signup, name='signup'), path('edit/', views.profile_edit, name='profile_edit') re_path(r'^(?P<username>[\w.@+-]+)/follow/$', views.user_follow, name='user_follow'), re_path(r'^(?P<username>[\w.@+-]+)/unfollow/$', views.user_unfollow, name='user_unfollow'), ]@login_required def user_follow(request, username): follow_user = get_object_or_404(User, username=username, is_active=True) # request_user => follow_user 을 팔로우 하려고 합니다. request.user.following_set.add(follow_user) # followr_user 팔로워 목록에 request_user 추가해줍니다. follow_user.follower_set.add(request.user) messages.success(request, f"{follow_user}님을 팔로우했습니다.") redirect_url = request.META.get("HTTP_REFERER", "root") return redirect(redirect_url) @login_required def user_unfollow(request, username): unfollow_user = get_object_or_404(User, username=username, is_active=True) # request_user => follow_user 을 언팔로우 하려고 합니다. request.user.following_set.remove(unfollow_user) # followr_user 팔로워 목록에 request_user 추가해줍니다. unfollow_user.follower_set.remove(request.user) messages.success(request, f"{unfollow_user}님을 팔로우 취소했습니다.") redirect_url = request.META.get("HTTP_REFERER", "root") return redirect(redirect_url) File "C:\Inflearn\blog\accounts\urls.py", line 11 re_path(r'^(?P<username>[\w.@+-]+)/follow/$', views.user_follow, name='user_follow'), ^SyntaxError: invalid syntax 자꾸 위와같은 오류가 뜨는데 왜 이런걸까요?ㅜ
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
re_path url
안녕하세요 강사님, re_path 를 이용하는 url 정의에서요,follow 관련 url은 왜 account/urls.py 에서 정의하고유저페이지 관련 re_path url 은 instagram/urls.py 에서 정의하셨는데요,둘다 account나 instagram 중 하나의 url 패턴에 정의하면 안되는 걸까요?
-
미해결장고 설계철학으로 시작하는 파이썬 장고 입문
Git
어떻게 해야 코드 바뀐것을 깃에서 확인 할 수 있을까요?
-
미해결장고 설계철학으로 시작하는 파이썬 장고 입문
Git
Git이라는 메뉴가 없는데 요즘은 없나요?.xmI들도 필수적으로 같이 commit하는게 좋을까요?
-
미해결장고 설계철학으로 시작하는 파이썬 장고 입문
pyenv
제가 python 3.10.4를 다운할려고 pyenv를 2.64.11로 다운그레이드를 했는데 다시 pyenv를 3.1.1로 바꿀려면 어떻게 해야하나요?만약 3.1.1로 바꾼다면 전에 설정한것들이 사라지나요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
No post matches the given query
강사님 안녕하세요, 오류가 발생해서 질문 드립니다 ㅜㅜhttp://127.0.0.1:8000/post/1/로 접속을 하면계속 이와 같은 오류가 뜹니다 ㅠㅠ이렇게 분명 포스트가 db 에 저장되어있는데 말이죠 .. ㅠㅠ이전에 작성했었다가 사용자를 다시 지우면서 같이 삭제된 포스팅이 있는데 그것 때문에 pk 값이 꼬인 것은 아니겠죠? urlpatterns = [ path('post/new/', views.post_new, name='post_new'), path('post/<int:pk>/', views.post_detail, name='post_detail') ](제 앱 이름은 myblog 로 해두었습니다)from django.contrib import messages from django.contrib.auth.decorators import login_required from django.shortcuts import get_object_or_404, redirect, render from .forms import PostForm from .models import Post # Create your views here. @login_required def post_new(request): if request.method == 'POST': form = PostForm(request.POST, request.FILES) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.save() # 이걸 나중에 하면 안되나? post.tag_set.add(*post.extract_tag_list()) messages.success(request, "포스팅을 등록했습니다.") return redirect("/") # TODO : get_absolute_url 활용 else: form = PostForm() return render(request, "myblog/post_form.html", { "form": form, }) def post_detail(request, pk): post = get_object_or_404(Post, pk=pk) return render(request, "myblog/post_detail.html", { "post" : post, }) views.pyimport re from django.conf import settings from django.db import models from django.urls import reverse # Create your models here. class Post(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) photo = models.ImageField(upload_to="myblog/post/%Y/%m/%d") caption = models.CharField(max_length=1000) tag_set = models.ManyToManyField('Tag', blank=True) location = models.CharField(max_length=100) def __str__(self): return self.caption def extract_tag_list(self): tag_name_list = re.findall(r"#([a-zA-Z\dㄱ-힣]+)", self.caption) tag_list = [] for tag_name in tag_name_list: tag, _ = Tag.objects.get_or_create(name=tag_name) tag_list.append(tag) return tag_list def get_absolute_url(self): return reverse("myblog:post_detail", args=[self.pk]) class Tag(models.Model): name = models.CharField(max_length=50, unique=True) def __str__(self): return self.namemodels.py이상한 부분은 없는 것 같습니다만 왜 이러는지 모르겠네요..ㅠㅠ그런데 또 쌩뚱맞은 http://127.0.0.1:8000/post/5/ url 을 입력하면 아래와 같이 다른 오류가 뜹니다.. 감사합니다 ! ㅠㅠ
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
static/base.css파일을 인식을 못합니다
이전 강의 내용까지는 다 되었고 개발자 모드 들어가서 뜯어봐도 클래스 값이랑 다 지정 잘 되있고 setting파일, head 파일 전부 오타 없는걸 5번은 확인한것 같습니다. 그런데 base.css에 옮긴것만 되지 않습니다.답답해서 static 파일 및 base.css를 삭제해도 문제 없이 css만 없는채로 만들어지는데 어떻게 해결하나요?개발환경은 구름ide를 활용하고 있는데 혹시 이게 문제가 될 수 있을까요?인터넷의 자주 실수하는 해결방법은 모두 해보았습니다