inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

설치기본 환경설정에서 script가 없습니다.

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

atom에서 script를 설치하라고 하시는데 atom에서 script가 없어서 무엇을 설치해야되는지 잘모르겠습니다. 다른 packages를 설치해야한다면 뭘 설치해야할까요?

  • atom
  • python
  • 환경설정
초코칙촉 댓글 1 좋아요 0 조회수 387

mmdetection mask-rcnn 추론결과 title 이름 변경 관련

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하세요 강사님 mmdetection 관련해서 이론적으로나 실무적으로나 항상 많은 도움 받고있습니다. 강의 내용을 바탕으로 mmdetection code를 작성하던 도중 질문사항이 생겨서요 ㅎㅎ mmdetection Mask R-CNN 모델을 이용하여 추론결과 아래 사진과 같이 mask, bbox 두가지가 나타나는데 bbox위에 나타나는 title(coin) 대신 변수를 표시하고 싶습니다. class name, confidence score 가 아닌 ID, pixel number를 표시하고 싶습니다. 제 코드는 다음과 같습니다. img_name = path_dir + '/' + file_list[i] img_arr= cv2.imread(img_name, cv2.IMREAD_COLOR) img_arr_rgb = cv2.cvtColor(img_arr, cv2.COLOR_BGR2RGB) # cv2.imshow('img',img) fig= plt.figure(figsize=(12, 12)) plt.imshow(img_arr_rgb) # inference_detector의 인자로 string(file경로), ndarray가 단일 또는 list형태로 입력 될 수 있음. results = inference_detector(model, img_arr) #추론결과 디렉토리에 저장 model.show_result(img_arr, results, score_thr=0.8, title= bbox_color=(0,0,255),thickness=0.5,font_size=7, out_file= f'{save_dir1}{file_list[i]}') 이 결과 추론되는 사진은 다음과 같습니다 아래는 mmdetection/mmdet/core/visualization/image.py에 있는 imshow_det_bboxes 함수입니다. 아래 함수가 시각화 해주는 함수여서 해당 함수를 수정하면 될 것 같은데 아무리 뜯어봐도 어디를 고쳐야할 지 도저히 감이 오질 않습니다 ...ㅠㅠ def imshow_det_bboxes(img, bboxes, labels, segms=None, class_names=None, score_thr=0, bbox_color='green', text_color='green', mask_color=None, thickness=2, font_size=13, win_name='', show=True, wait_time=0, out_file=None): """Draw bboxes and class labels (with scores) on an image. Args: img (str or ndarray): The image to be displayed. bboxes (ndarray): Bounding boxes (with scores), shaped (n, 4) or (n, 5). labels (ndarray): Labels of bboxes. segms (ndarray or None): Masks, shaped (n,h,w) or None class_names (list[str]): Names of each classes. score_thr (float): Minimum score of bboxes to be shown. Default: 0 bbox_color (str or tuple(int) or :obj:`Color`):Color of bbox lines. The tuple of color should be in BGR order. Default: 'green' text_color (str or tuple(int) or :obj:`Color`):Color of texts. The tuple of color should be in BGR order. Default: 'green' mask_color (str or tuple(int) or :obj:`Color`, optional): Color of masks. The tuple of color should be in BGR order. Default: None thickness (int): Thickness of lines. Default: 2 font_size (int): Font size of texts. Default: 13 show (bool): Whether to show the image. Default: True win_name (str): The window name. Default: '' wait_time (float): Value of waitKey param. Default: 0. out_file (str, optional): The filename to write the image. Default: None Returns: ndarray: The image with bboxes drawn on it. """ assert bboxes.ndim == 2, \ f' bboxes ndim should be 2, but its ndim is {bboxes.ndim}.' assert labels.ndim == 1, \ f' labels ndim should be 1, but its ndim is {labels.ndim}.' assert bboxes.shape[0] == labels.shape[0], \ 'bboxes.shape[0] and labels.shape[0] should have the same length.' assert bboxes.shape[1] == 4 or bboxes.shape[1] == 5, \ f' bboxes.shape[1] should be 4 or 5, but its {bboxes.shape[1]}.' img = mmcv.imread(img).astype(np.uint8) if score_thr > 0: assert bboxes.shape[1] == 5 scores = bboxes[:, -1] inds = scores > score_thr bboxes = bboxes[inds, :] labels = labels[inds] if segms is not None: segms = segms[inds, ...] mask_colors = [] if labels.shape[0] > 0: if mask_color is None: # Get random state before set seed, and restore random state later. # Prevent loss of randomness. # See: https://github.com/open-mmlab/mmdetection/issues/5844 state = np.random.get_state() # random color np.random.seed(42) mask_colors = [ np.random.randint(0, 256, (1, 3), dtype=np.uint8) for _ in range(max(labels) + 1) ] np.random.set_state(state) else: # specify color mask_colors = [ np.array(mmcv.color_val(mask_color)[::-1], dtype=np.uint8) ] * ( max(labels) + 1) bbox_color = color_val_matplotlib(bbox_color) text_color = color_val_matplotlib(text_color) img = mmcv.bgr2rgb(img) width, height = img.shape[1], img.shape[0] img = np.ascontiguousarray(img) fig = plt.figure(win_name, frameon=False) plt.title(win_name) canvas = fig.canvas dpi = fig.get_dpi() # add a small EPS to avoid precision lost due to matplotlib's truncation # (https://github.com/matplotlib/matplotlib/issues/15363) fig.set_size_inches((width + EPS) / dpi, (height + EPS) / dpi) # remove white edges by set subplot margin plt.subplots_adjust(left=0, right=1, bottom=0, top=1) ax = plt.gca() ax.axis('off') polygons = [] color = [] for i, (bbox, label) in enumerate(zip(bboxes, labels)): bbox_int = bbox.astype(np.int32) poly = [[bbox_int[0], bbox_int[1]], [bbox_int[0], bbox_int[3]], [bbox_int[2], bbox_int[3]], [bbox_int[2], bbox_int[1]]] np_poly = np.array(poly).reshape((4, 2)) polygons.append(Polygon(np_poly)) color.append(bbox_color) label_text = class_names[ label] if class_names is not None else f'class {label}' if len(bbox) > 4: label_text += f'|{bbox[-1]:.02f}' ax.text( bbox_int[0], bbox_int[1], f'{label_text}', bbox={ 'facecolor': 'black', 'alpha': 0.8, 'pad': 0.7, 'edgecolor': 'none' }, color=text_color, fontsize=font_size, verticalalignment='top', horizontalalignment='left') if segms is not None: color_mask = mask_colors[labels[i]] mask = segms[i].astype(bool) img[mask] = img[mask] * 0.5 + color_mask * 0.5 plt.imshow(img) p = PatchCollection( polygons, facecolor='none', edgecolors=color, linewidths=thickness) ax.add_collection(p) stream, _ = canvas.print_to_buffer() buffer = np.frombuffer(stream, dtype='uint8') img_rgba = buffer.reshape(height, width, 4) rgb, alpha = np.split(img_rgba, [3], axis=2) img = rgb.astype('uint8') img = mmcv.rgb2bgr(img) if show: # We do not use cv2 for display because in some cases, opencv will # conflict with Qt, it will output a warning: Current thread # is not the object's thread. You can refer to # https://github.com/opencv/opencv-python/issues/46 for details if wait_time == 0: plt.show() else: plt.show(block=False) plt.pause(wait_time) if out_file is not None: mmcv.imwrite(img, out_file) plt.close() return img 감사합니다

  • mask-rcnn
  • mmdetection
  • 딥러닝
  • 머신러닝 배워볼래요?
  • python
  • 컴퓨터-비전
  • tensorflow
  • keras
댓글 1 좋아요 0 조회수 647

에러가 납니다ㅜㅜ

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

강의를 보며 그대로 따라했는데 const query = req.query; console.log("QUERY : ", query); 를 추가했을때 터미널에 node server.js를 하면 에러가 납니다ㅜㅜ

  • react
  • nodejs
  • react-native
  • HTML/CSS
  • express
  • javascript
  • 머신러닝 배워볼래요?
  • tensorflow
chatham987 댓글 2 좋아요 1 조회수 325

오류를 이해를 못하겠습니다.

해결됨

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

AssertionError at /post/ The `.create()` method does not support writable nested fields by default. Write an explicit `.create()` method for serializer `instagram.serializers.PostSerializer`, or set `read_only=True` on nested serializer fields. 저 오류로 프로젝트 2번 갈아 엎었는데 똑같은 곳에서 계속 막히네요.

  • python
  • docker
  • django
  • react
임찬 댓글 1 좋아요 0 조회수 500

선생님 안녕하세요. 렌더링 질문있습니다.

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

Counter 함수를 정의하고 상태가 변화하면서 리렌더링 되는지 확인하려고 console을 찍어봤는데 영상과 다르게 두 번 찍히더라구요. App.js에서 Counter 컴포넌트를 두 번 정의하지도 않았는데 console이 두 번 찍히는 경우는 어떤게 잘못된걸까요? 소스 코드는 선생님과 동일합니다.

  • javascript
  • nodejs
  • react
정지수 댓글 1 좋아요 2 조회수 292

dataset 선택에 대하여 질문드립니다.

해결됨

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하십니까 교수님 최근 진행중인 프로젝트 수행을 위해서 강의를 듣고 있는 학생입니다. 현재 depth camera 를 이용하는 딥러닝 프로젝트를 진행하며 여러가지 오픈소스를 찾던 중 ssd-mobilenet 을 PASCAL VOC 로 학습한 것과 같은 알고리즘 ssd-mobilenet를 사용하여 COCO dataset으로 학습된 것을 봤습니다. 만약 오픈 소스를 사용하는 입장이면(학습하는 시간을 고려하지 않았을 때) 무조건 데이터 분류가 많고, 사진 당 오브젝트 수가 많은 COCO 데이터셋이 학습된 소스가 좋다고 생각하는데 혹시 다른 차이가 있을까 궁금해서 이렇게 질문드리게 되었습니다 학습 분류가 많을수록 FPS 에 의한 차이가 있나요? 학습 분류가 많을수록 특정 사물에 대한 detection 성능의 차이가 있을 수 있나요? - 예를 들어 person 데이터만 필요할 때 PASCAL VOC, COCO 또는 open image 를 사용할 때 성능 차이가 발생하나요? 다른 차이가 있을까요? 강의는 항상 잘 듣고 있습니다. 덕분에 다양한 프로젝트를 진행하여 취업까지 연결할 수 있었습니다. 아직 반정도 남았지만 분발하여 꼭 완강하도록 하겠습니다. 감사합니다!!

  • 딥러닝
  • 머신러닝 배워볼래요?
  • tensorflow
  • python
  • 컴퓨터-비전
  • keras
김강현 댓글 1 좋아요 1 조회수 332

잘 모르겠습니다ㅠㅠ

미해결

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

함수 자체에는 문제가 없는 것 같은데 실행을 하면 사진과 같이 나옵니다.. 대체 어디가 틀렸는지 모르겠습니다ㅠㅠ

  • python
tjqkdwnstn 댓글 0 좋아요 0 조회수 211

port에 따라서 오류가 생기는 경우가 있습니다.

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

안녕하세요. 좋은 강의 잘 듣고 있습니다. 2강에서 express 공식 문서에서 긁어와서 Index.js로 붙여넣는 과정에서 강사님은 port 숫자가 달라도 상관없다고 하셨습니다. 처음에는 강사님 따라서 저도 port를 5000으로 지정했는데 오류가 발생하여 기존 문서에 있던대로 3000으로 지정했더니 잘 작동했습니다. port가 어떤 것을 의미하는지, 왜 3000만 되는지가 궁금하여 질문드립니다. 감사합니다.

  • nodejs
  • react
김시환 댓글 1 좋아요 3 조회수 456

Auth()를 처리하는 다른방식.

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

export default Auth(LandingPage, null) 저 같은 경우는 위 코드가 안먹혀서 다른 방법을 생각해봤는데요. auth 부분을 export default function _auth ( option , adminRoute = null ) { const navigate = useNavigate () const dispatch = useDispatch () dispatch ( auth ()). then (( response ) => { console . log ( response ) //로그인 하지 않은 상태 if (! response . payload . isAuth ) { if ( option ) { navigate ( "/" ) } } else { //로그인 한 상태 if ( adminRoute && ! response . payload . isAdmin ) { navigate ( "/" ) } else { if ( option === false ) { navigate ( "/" ) } } } }) } 이렇게 수정해주고.. LandingPage 기준으로 Auth ( null ) 이 코드를 넣어준 후 export default LandingPage 이렇게 export해주시면 정상적으로 작동합니다. 다른 페이지도 같은 방식으로 적용해주시면 돼요!

  • nodejs
  • react
무로박 댓글 1 좋아요 0 조회수 622

수강기한 문의

해결됨

[딥러닝 전문가 과정 DL1101] 딥러닝을 위한 파이썬 레벨1

[딥러닝 전문가 과정 DL1101] 딥러닝을 위한 파이썬 레벨1 이랑 기초대수학 이수중인데, 수강기한 조금만 더 늘려주실 수는 없을까요? ㅠㅠ 생각보다 3개월이 짧네요... .

  • anaconda
  • python
  • 딥러닝
j808esc 댓글 1 좋아요 0 조회수 255

cat repository에서의 오류

미해결

탄탄한 백엔드 NestJS, 기초부터 심화까지

async existsByEmail ( email : string ): Promise < boolean > { try { const result = await this . catModel . exists ({ email }); return result ; } catch ( error ) { throw new HttpException ( 'db error' , 400 ); } } 에서 return result부분에서 오류가 발생합니다. src/cats/cats.repository.ts:20:7 - error TS2322: Type 'Pick<Document<Cat, any, any>, "_id">' is not assignable to type 'boolean'. 20 return result; ~~~~~~~~~~~~~~ exists() 따라가 보면 리턴타입이 boolean이 아닌거 같은데 어떤 부분을 확인해 보면 좋을까요? console.log로 result를 찍어보면 { _id: new ObjectId~~~} 가 나옵니다.

  • mongodb
  • express
  • nodejs
  • ssr
  • NestJS
댓글 1 좋아요 0 조회수 587

제로초님 질문드리고싶습니다. 이런문제는 왜발생한건지 파일 캡쳐합니다 도저히 이해가 안돼네요 undefined property verify

미해결

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

import { Injectable , ExecutionContext , HttpException , HttpStatus , } from '@nestjs/common' ; import { AuthGuard } from '@nestjs/passport' ; import { JwtService } from '@nestjs/jwt' ; @ Injectable () export class JwtAuthGuard extends AuthGuard ( 'jwt' ) { constructor ( private readonly jwtService : JwtService , // @Inject(forwardRef(() => AdminsService)) // private readonly adminsService: AdminsService, ) { super (); } canActivate ( context : ExecutionContext ) { const request = context . switchToHttp (). getRequest (); const { authorization } = request . headers ; if ( authorization === undefined ) { throw new HttpException ( 'Token 전송 안됨' , HttpStatus . UNAUTHORIZED ); } //const token = authorization.replace('Bearer ', authorization); const token = authorization . replace ( 'Bearer ' , '' ); //console.log(token, 'token!!!'); request . user = this . validateToken ( token ); return true ; } validateToken ( token : string ) { const secretKey = process . env . SECRET ? process . env . SECRET : 'dev' ; try { const data = this . jwtService . verify ( token , { secret : secretKey , }); console . log ( data , '11번가데이터' ); return data ; } catch ( e ) { switch ( e . message ) { // 토큰에 대한 오류를 판단합니다. case 'INVALID_TOKEN' : case 'TOKEN_IS_ARRAY' : case 'NO_USER' : throw new HttpException ( '유효하지 않은 토큰입니다.' , 401 ); case 'EXPIRED_TOKEN' : throw new HttpException ( '토큰이 만료되었습니다.' , 410 ); default : console . trace ( e ); // console.log('광섭짱과 함께하는 코딩공부',) throw new HttpException ( '서버 오류입니다.' , 500 ); } } } } 이부분은 jwt.guard.ts 입니다 저 빨간줄에서 Trace: TypeError: Cannot read properties of undefined (reading 'verify') 이렇게 나오는데 왜 저렇게 나오는건지 도저히 모르겠네요 해당 토큰값도 잘 받아와서 verify 를 이용해 토큰 유효성 검사를 진행하려하는데 그부분에서 에러가 계속 납니다... 도와주세요

  • nodejs
  • express
  • NestJS
  • TypeORM
crud찍어내기 댓글 3 좋아요 0 조회수 1149

useMemo와 useEffect 차이

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

useMemo 강의 잘 듣고 있습니다. 그런데, useMemo(() => { //생략 }, [data.length]); 한 것과 useEffect(() => { //생략 }, [data.length]); 한 것과 차이가 있을까요? 제가 생각했을때는 둘이 같이 작동할 것 같은데.. 어떻나요?

  • nodejs
  • javascript
  • react
예승재 댓글 2 좋아요 1 조회수 856

dataId = useRef(0) 질문입니다.

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

const dataId = useRef(0) 질문입니다. 강의 들을 때는 그냥 음~ 하면서 들었는데 나중에 생각해보니.. 왜 useRef를 쓰는 건지 잘 모르겠습니다. 그냥 const [dataId, setDataId] = useState(0); 해도 문제 없을 것 같은데.. 어떨까요??

  • javascript
  • nodejs
  • react
예승재 댓글 1 좋아요 0 조회수 465

파이썬래퍼 xgboost

해결됨

[개정판] 파이썬 머신러닝 완벽 가이드

파이썬래퍼 XGBoost가 기존에 하던 예제들과 좀 차이가 나서 이해하는데 어려움이 좀 있는데 현업에서 좀 많이 쓰이는 편인가요? 아니면 사이킷런 래퍼 XGBoost만 이해할정도가 되도 지장이 없을까요 ?

  • 통계
  • 머신러닝 배워볼래요?
  • python
예찬 댓글 1 좋아요 1 조회수 437

faker2를 통해 blog. comment 생성 시도시의 오류

미해결

mongoDB 기초부터 실무까지(feat. Node.js)

Error: Blog validation failed: comments.blog: Path `comments.blog` is required., comments.user: Path `comments.user` is required., comments.content: Path `comments.content` is required. at ValidationError.inspect (/Users/yungsu2391naver.com/Desktop/mongodb_nodejs tutorial/inflearn_nodejs-mongodb/node_modules/mongoose/lib/error/validation.js:48:26) at formatValue (node:internal/util/inspect:782:19) at inspect (node:internal/util/inspect:347:10) at formatWithOptionsInternal (node:internal/util/inspect:2167:40) at formatWithOptions (node:internal/util/inspect:2029:10) at console.value (node:internal/console/constructor:324:14) at console.log (node:internal/console/constructor:360:61) at /Users/yungsu2391naver.com/Desktop/mongodb_nodejs tutorial/inflearn_nodejs-mongodb/src/routes/blogRoute.js:26:13 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { errors: { 'comments.blog': ValidatorError: Path `comments.blog` is required. at validate (/Users/yungsu2391naver.com/Desktop/mongodb_nodejs tutorial/inflearn_nodejs-mongodb/node_modules/mongoose/lib/schematype.js:1330:13) at SchemaType.doValidate (/Users/yungsu2391naver.com/Desktop/mongodb_nodejs tutorial/inflearn_nodejs-mongodb/node_modules/mongoose/lib/schematype.js:1314:7) at /Users/yungsu2391naver.com/Desktop/mongodb_nodejs tutorial/inflearn_nodejs-mongodb/node_modules/mongoose/lib/document.js:2762:18 at process.processTicksAndRejections (node:internal/process/task_queues:77:11) { properties: [Object], kind: 'required', path: 'comments.blog', value: undefined, reason: undefined, [Symbol(mongoose:validatorError)]: true }, 'comments.user': ValidatorError: Path `comments.user` is required. at validate (/Users/yungsu2391naver.com/Desktop/mongodb_nodejs tutorial/inflearn_nodejs-mongodb/node_modules/mongoose/lib/schematype.js:1330:13) at SchemaType.doValidate (/Users/yungsu2391naver.com/Desktop/mongodb_nodejs tutorial/inflearn_nodejs-mongodb/node_modules/mongoose/lib/schematype.js:1314:7) at /Users/yungsu2391naver.com/Desktop/mongodb_nodejs tutorial/inflearn_nodejs-mongodb/node_modules/mongoose/lib/document.js:2762:18 at process.processTicksAndRejections (node:internal/process/task_queues:77:11) { properties: [Object], kind: 'required', path: 'comments.user', value: undefined, reason: undefined, [Symbol(mongoose:validatorError)]: true }, 'comments.content': ValidatorError: Path `comments.content` is required. at validate (/Users/yungsu2391naver.com/Desktop/mongodb_nodejs tutorial/inflearn_nodejs-mongodb/node_modules/mongoose/lib/schematype.js:1330:13) at SchemaType.doValidate (/Users/yungsu2391naver.com/Desktop/mongodb_nodejs tutorial/inflearn_nodejs-mongodb/node_modules/mongoose/lib/schematype.js:1314:7) at /Users/yungsu2391naver.com/Desktop/mongodb_nodejs tutorial/inflearn_nodejs-mongodb/node_modules/mongoose/lib/document.js:2762:18 at process.processTicksAndRejections (node:internal/process/task_queues:77:11) { properties: [Object], kind: 'required', path: 'comments.content', value: undefined, reason: undefined, [Symbol(mongoose:validatorError)]: true } }, _message: 'Blog validation failed' }

  • nodejs
  • javascript
  • error
  • aws
  • rest-api
  • nodejs
  • DBMS/RDBMS
  • mongodb
  • 데이터 엔지니어링
고용수 댓글 1 좋아요 0 조회수 267

k-pop 안무 영상 데이터

미해결

안녕하세요. 다름이 아니라 AI HUB에 올라와 있는 k-pop 덴스 데이터 셋을 활용해 key point detection을 해보고 싶어서 질문드립니다. https://aihub.or.kr/aidata/34116 해당 데이터 셋을 보면 뭐 이름은 영상 데이터 셋으로 올라왔는데 파일은 jpg 파일이랑 json 파일로 구성되어 있구요. 이게 파일을 또 살펴보면 jpg파일이 정면 좌우 대각선 방향에서 찍혀있는 사진으로 구성되어 있는데 데이터를 입력할 때 유의해야할 점이있을 까요? 정면에서 하는 것 밖에 못한다든가 또 이렇게 jpg 파일로 학습 시킨 모델로 영상도 나중에 예측?할 때 활용할 수 있나요?

  • keypointdetection
  • DL
  • python
  • I/O
김지우 댓글 0 좋아요 0 조회수 252

하이퍼 파라미터

해결됨

[개정판] 파이썬 머신러닝 완벽 가이드

n_estimators와 같은 하이퍼 파라미터를 고려할 땐 무조건 예측 성능이 높게 나오는 하이퍼 파라미터를 선택하는것이 옳나요?

  • 머신러닝 배워볼래요?
  • 통계
  • python
댓글 1 좋아요 0 조회수 237

csp 오류

미해결

프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)

안녕하세요, htmlWebpackPlugin 관련 질문이 있어서 글 남깁니다. 현재 webpack5, htmlWebpackPlugin5 를 사용해서 예제를 진행하고 있는데, 위와 같은 csp 오류가 발생해서 질문드립니다.

  • 웹팩
  • babel
  • eslint
  • nodejs
ㄴㄴㄴㄴ 댓글 1 좋아요 0 조회수 359

DetailView 변수명

해결됨

Do It! 장고+부트스트랩: 파이썬 웹개발의 정석

- 학습에 관련된 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. post_list.html에서는 변수를 소문자로 변환한 모델명 + _list 로 사용했는데 post_detail.html에서는 변수를 소문자로 변환한 모델명(post)로 사용한건가요? 어떤 방식으로 하는건지 설명이 없어서요...

  • django
  • docker
  • bootstrap
  • javascript
  • tdd
  • python
  • HTML/CSS
  • aws
Heyna 댓글 1 좋아요 0 조회수 217

인기 태그

인프런 TOP Writers

주간 인기글