묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결웹에서 다루는 미디어 - 화상 대화를 만들면서 배우는 MediaStream API
안녕하세요 8장 학습하다 궁금한게 있어 질문드립니다.
안녕하세요, 선생님! 8장 강의 학습 중에 궁금한 부분이 있어 이렇게 질문드립니다.8장 실습 중 WebRTC 관련 예제를 크롬에서 먼저 실행한 뒤, 익스플로러 엣지에서 실행했더니첨부한 이미지와 같은 현상이 발생했는데요, 혹시 이 경우가 왜 발생하는 건지 조언 구드려도 될까요?강의 덕분에 많은 걸 배워가고 있습니다.무더운 여름 건강 유의하시고, 감사합니다!
-
미해결프론트엔드 개발의 Kick, Web API (feat. React)
강의 영상 질문
5,7,8,10,11,12,14,15,17,18,19번 강의가음성만 있고 화면에 보여지는게 없는데,의도된걸까요..?저만 그런건지,,,ㅠㅠ
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
OAUTH2 질문
로그인시도 -> Securty -> FILTER 사용자가 DB에있으면 OK -> JWT발급이 흐름이 맞는지요..? 그리고 OAUTH2는 로그인시도 -> 카카오 코드받아서 인증을 받고 -> 토큰으로 사용자 정보를 가져와서 로그인 -> 로그인 후 jwt발급근데 궁금한게 oauth2도 회원가입이 왜 필요한걸까요? 시큐리티때문이라고한다면 토큰으로 사용자정보를 가져오는걸로 db에서찾은거처럼 판단을 못하는지요제가 헷갈리는게 jwt든 oauth2든db하고 관련이 어떻게잇는건지가 헷갈립니다 jwt도 db에서 사용자정보를 가져와서 담을수도있지않나요? oauth2가 db에 사용자정보가 왜필요한지도 헷갈립니다 만약 사용자정보가 저장이 최초에 된다면 그다음부터는 그냥 oauth2로그인으로 안타는건지 그냥 security의 로그인을 타는건지 궁금합니다. 그리고 현재 강의에서는 시큐리티를 안쓰고openfeign를 쓰셔서 코드를 받고 그 코드로 요청을 보내서 토큰을 받고 그 토큰으로 사용자정보를 받는걸로 이해를 했습니다. 시큐리티에서는 해당과정이 없는걸로 알고있는데 맞는지요
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
카카오토큰관련
안녕하세요 질문이있는데요 제가 예전에는 security에서http.oauth2Login(oauth2Login -> oauth2Login.loginPage("/login").userInfoEndpoint().userService(customOAuth2UserService)); 이런식으로 oauth를 했었던거같은데 해당강의는 시큐리티를 적용안하고 바로 카카오로 회원가입을 진행시키는걸까요? 근데 궁금한게 제가 예전에 했을때는 저런 토큰을 안하고OAuth2User 이걸로 이용해서 가입을 시켜서 로그인을 했던거같은데 어떤차이가있는걸까요 해당강의에서 FeighClient를이용해서 토큰을 요청을하는게 훨씬 복잡해보이는데 어떤장점이있는지도 알려주시면감사합니다 시큐리티했을때는 그런작업이 없었던거같아서요 jwt를 이용하는거면 소셜로회원가입을 시키고 그 가입된걸 jwt를 이용하면되는거아닌가싶어서요 카카오토큰은 왜받는지 잘 모르겠습니다
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
auditing
@EntityListeners(AuditingEntityListener.class) 저걸안쓰는이유가무엇인가요?저렇게 직접구현하는이유가
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
전역에러처리질문
전역에러처리에서 궁금한게 errorCode라는게무엇일까요 httpStatus로 에러상태코드를알수있는데 에러코드가 따로필요한 이유와 그렇다면 강의에서처럼 구성할경우 enum으로 모든 httpstatus에 따라 에러코드를 enum으로 작성해줘야되는건가요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
고민
안녕하세요 지금 4-4까지 들은 수강생입니다. 제가 데이터 사이언스 대학원 진학을 앞두고 있는데, 개인적으로 장고기반으로 한 웹페이지 + AI 프로젝트를 하고 싶어 장고를 배우고 하려고 하는데, 이게 솔직히 좀 많이 어렵고, 지금 코드를 따라치는 것만 하는 것 같아서 학습방향이 맞나해서 질문드립니다. 소스코드는 거의 주신 걸 이용해서 복붙하고, 이제 하신 코드를 따라서 치고 결과 확인을 하는 건데, 강의하면서 말씀하시는 DOM,,등등을 잘 알아듣기가 힘들어서요,,자바같은 경우에는 공부를 했어서 MVC 패턴같이 백에서 큰 그림을 그려가며 좀 자세하게 설명을 해주시는 줄 알았는데 그게 아니여서 조금 고민이 되는 것 같습니다. 저는 모델, 뷰 또는 urls가 서로 어떻게 작용을 해서 프론트로 뿌려주는 것인지에 대한 답답함, 그리고 각 코드가 어떠한 의미를 지녔는지 잘 모르겠는 부분에 대한 답답함을 지닌 것 같습니다. for문 또는 전체적으로 함수가 어떠한 역할을 하는지는 이해했으나 어떠한 방식으로 요청하고 받고 하는지에 대해 몰라서 조금 답답한 것 같습니다. 음 예를 들자면, songlist에 있는 거를 for문으로 해서 가져오는구나,,라는 건 이해를 했는데, view와 model은 어떠한 역할을 하기에 이걸 프론트로 뿌리는거지..?라는 질문도 생기고, html은 솔직히 거의 전부 이해가 안가기도 합니다. 혹시 다른 강의를 들어야할까요? 조언을 주시면 감사하겠습니다. 긴 글 읽어주셔서 감사합니다!
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
django-component==0.139 실행 시 오류
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요.질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다.시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다.오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-)인프런 서비스 운영 관련 문의는 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 기준)
django-csp 4.0 migration 관련
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요.질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다.시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다.오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-)인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. django-csp 4.0 Migration Guide — Django-CSP 4.0 documentationcsp 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 기준)
01 윈도우 개발환경 설치 문의
안녕하세요. 강사님.늘 강의 잘 보고 있습니다. 🙂 오늘 1강부터 청강 시작 했습니다. 윈도우 개발환경에서 파이썬 3.11 설치를 알려주셨습니다. 25년 4월 현재도 여전히 유효한지요?검토 부탁드립니다. 감사합니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-)인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
강의 자료 문의
안녕하세요! 우선 좋은 강의를 제공해주셔서 정말 감사합니다!하지만 불편한 점이 있습니다.강의 자료를 일일이 다운받으니 번거롭고 파일 병합하기도 힘드네요..타 강의와 비교하는 것은 죄송하지만, 다른 강의들은 모두 zip파일로 강의자료를 병합하여 업로드해주십니다.본 강의도 강의자료를 병합하여 한번에 올려주시면 감사하겠습니다!
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
토큰 발급 관련 문의 드립니다.
강사님 안녕하세요, 토큰 발급과 관련하여 문의드립니다. :) 카카오 토큰 발급 요청 시 공식 문서(POST & Content-Type: application/x-www-form-urlencoded;)에 따라메시지 바디에 쿼리 파라미터 형식으로 데이터를 전달해야하는 것으로 이해했습니다. 1.1. 요청을 받는 카카오 입장에선 데이터가 쿼리 파라미터 형식이라면 아래 두 경우를 모두 처리할 수 있나요?- URL 쿼리 파라미터에 데이터를 포함해서 전달한 경우- 메시지 바디에 쿼리 파라미터 형식으로 데이터를 전달한 경우 1.2. 1.1.이 맞다면, PostMapping으로 @SpringQueryMap KakaoTokenDto.Request request와 같이 정의한 이유가 무엇일지요?바디가 아닌 URL 쿼리 파라미터에 데이터를 포함했을 때 이점이나 별도 차이가 있는지요? 아니면 단순 선택사항일지요? 2.1. 만약 메시지 바디에 쿼리 파라미터 형식으로 전달하고자 한다면,토큰 발급에 성공하는 아래 방식 중 어떤 방식이 제일 적절한지와 의견 알 수 있을까요? @PostMapping(value = "/oauth/token", consumes = APPLICATION_FORM_URLENCODED_VALUE) KakaoTokenResponse requestKakaoToken(@RequestBody KakaoTokenRequest request); @PostMapping(value = "/oauth/token", consumes = APPLICATION_FORM_URLENCODED_VALUE) KakaoTokenResponse requestKakaoToken(@ModelAttribute KakaoTokenRequest request); @PostMapping(value = "/oauth/token", consumes = APPLICATION_FORM_URLENCODED_VALUE) KakaoTokenResponse requestKakaoToken(KakaoTokenRequest request); 2.2. 2.1.의 KakaoTokenResponse requestKakaoToken(KakaoTokenRequest request)의 경우,@RequestBody 애노테이션이 생략되어 처리되는게 맞을지요? 어떤 방식에 의해 처리되는지 궁금합니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
선생님 학습 방법 질문이 있습니다.
파이썬 기초 문법 학습 후 현재 강의를 듣는 중인데 2번 세션 맛보기 반복 숙달 어느정도까지 해야 다음 챕터로 넘어가는 것이 맞나요? 강의 이름은 맛보기인데 중요한 것 들 같아서 반복 숙달을 어느정도 까지 하는게 좋을 지 궁금합니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
bulk_update에서 updated_at 필드
안녕하세요! 해당 수업에서 django shell에서 update 부분 실습하다가 결과 값에 의문이 생겨 질문드립니다.이 부분에서 auto_now=True 필드도 같이 bulk_update 함수의 인자인 fields에 지정해야만 해당 필드도 같이 업데이트 된다고 하셨는데 제 코드에서는 updated_at 필드의 값이 업데이트 되지 않았습니다.제가 나름대로 이해한 바로는 bulk_update는 따로 save를 호출하지 않기 때문에 updated_at을 fields 인자에 추가해주더라도 변한 값이 없어서 업데이트가 되지 않는 걸까요? 그렇다면 제대로 updated_at도 업데이트 되게끔 하기 위해서는 따로 post.updated_at = timezone.now()를 title 수정할 때 해주어야 하는 걸까요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
정규표현식
안녕하세요! 강의 들으며 많은 부분 배우고 있습니다.DateCoverter 정규표현식 부분을 보면서 드는 의문이 있어 질문드립니다. 제가 이해한 바가 맞다면, 정규표현식에서 {1,2}부분은 앞부분의 패턴을 1번 또는 2번 반복한다고 이해했습니다.그렇다면 r"20\d{2}/([1-9]|0[1-9]|1[0-2]){1,2}/([1-9]|0[1-9]|[12][0-9]|3[01]){1,2}"라는 정규표현식에서 월과 일의 숫자를 체크하는 부분이 1번 또는 2번 반복될 수도 있으니 "2023/0303/1212"와 같은 문자열도 통과 가능한 것일까요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
선생님 질문 있습니다.
1) request.META["HTTP_USER_AGENT"] 실습 5번 내내 NameError로 표기 되지 않습니다. 구글링해도 정확히 어떤 이유인지 잘모르겠습니다.2) 아래 pwsh 느낌표가 왜 나오는지 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
클래스 라이브러리 (.NET Core)이 없으면 클래스 라이브러리 선택하시면 됩니다.
클래스 라이브러리 (.NET Framework)는 아니에요~
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
NET 9.0 버전에서의 레이아웃 적용
아래 내용과 함께 .css파일도 추가해보세요https://learn.microsoft.com/ko-kr/aspnet/core/blazor/components/layouts?view=aspnetcore-9.0 레이아웃 네임스페이스를 사용할 수 있도록 설정프레임워크에 대해 시간이 지남에 따라 레이아웃 파일 위치 및 네임스페이 Blazor 스가 변경되었습니다. 빌드하는 앱의 BlazorBlazor 버전 및 유형에 따라 레이아웃의 네임스페이스를 사용할 때 표시해야 할 수 있습니다. 레이아웃 구현을 참조할 때 레이아웃의 네임스페이스를 표시하지 않고 레이아웃을 찾을 수 없는 경우 다음 방법 중 어느 것이든 수행합니다.@using 레이아웃의 위치에 대한 지시문을 _Imports.razor 파일에 추가합니다. 다음 예제에서는 이름이 Layout 있는 레이아웃 폴더가 폴더 내에 Components 있고 앱의 네임스페이스는 다음과 같습니다 BlazorSample.razor복사@using BlazorSample.Components.Layout 레이아웃이 @using 사용되는 구성 요소 정의의 맨 위에 지시문을 추가합니다.razor복사@using BlazorSample.Components.Layout @layout DoctorWhoLayout 사용되는 레이아웃의 네임스페이스를 정규화합니다.razor복사@layout BlazorSample.Components.Layout.DoctorWhoLayout
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
공유자님 이 강의 공부 방법에 대한 질문입니다.
이 강의는 어떤 식으로 접근해야 되나요?이런 것이 있구나~ 라고 생각하고 넘어가야 하나요? 아니면 하나하나 다 알아가면서 넘어가는 것이 좋나요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
mydjango.py 질문 있습니다.
vscode (windows)사용기존) mydjango02 폴더--> django 설치 --> startproject --> manage.py 생성 질문 1)mydjango 03 폴더 --> django 설치 --> django runserver가 돌아가지 않습니다.질문 2)이전에 따라하기에선 django runserver가 돌아갔었는데 디버그시 mydjango.py가 나타나지 않았습니다. 그래서 실습을 기존에 설치된 manage.py로 했는데 제가 어느 부분에서 실수 할 가능성이 있을까요?