본문 바로가기

TIL

TIL 041323

파이참에서 장고 프로젝트 열기

 

왜 맨날 검색하고 있을까

activate.bat 이걸로 해결한적도 있고

클릭클릭으로 해결한적도 있고

source 어쩌구로 해결한적도 있고

매번 이것저것 하다보면 해결된다.

전에 이렇게 해결한 것 같아서 해보면 안된다.

또 검색 맨날 검색

오늘은 python -m venv venv를 하니까 venv폴더가 생겼다.

activate를 하려고 venv/Scripts/activate를 입력하니까 venv는 내부 또는 외부에서 실행할 수 없는 어쩌구저쩌구

대문자소문자 바꿔보고 source venv ~ 해보고 activate.bat해보고 bin? python3 다 안된다.

cmd bash 바꿔보고 클릭클릭으로 이것저것 눌러보고 그러다보면 (venv)가 생긴다.

오늘은 아까 python -m venv venv로 만든 venv 폴더를 지우고 클릭클릭으로 new를 선택하고 ok눌렀더니 됐다.

나중에 클론한 프로젝트를 두어개 더 열어봤는데 그때는 cmd랑 bash를 바꿔가면서 명령어 입력으로 venv는 생성하고 클릭클릭으로 new말고 exist를 선택한후 ok했더니 됐다.

 

오늘하루 몇번 반복해보니 검색은 더이상 안해도 되지만 한번에는 못하고 이것저것 써보고 여기저기 눌러보면 할 수 있다. 

 

일단 순서는 venv -> django -> makemigrations, migrate, createsuperuser -> sqlite3 -> 연두색 삼각형


클론한 프로젝트 실행이 안됨

 

from .models import UserInfo 여기서 에러가 나서 from user.models import UserInfo로 바꿔봤다.

그랬더니 빨간 느낌표에서 여섯가지 방안을 제시해줬다.

pip install users, pip install userinfo 어쩌구저쩌구....

다 아닌 것 같아서 검색해봤더니 경로가 잘못된거라고 한다.

간접경로 직접경로 뭐라고 하면서 친절한 글이라는데 잘 모르겠다.

보니까 클론하면서 뒤에 -master이런게 생겼는데 _master 이렇게 언더바로 바꿔줬다.

폴더 이름이 다들 비슷해서 예를 들면 MM/Mm/mM/mm 이런 식으로 되어있어서 그런건가 싶어서 바탕화면으로 빼고 해봤다. 

잘 돌아가는 프로젝트에는 없는데 이거는 파이참에서 보면 [프로젝트명] 이게 한번 더 들어가있다.

바탕화면으로 옮기고 폴더명을 바꿔봐도 안돼서 연두색 재생버튼 말고 runserver를 치는 방법으로 시도해봤다. 

 

python manage.py runserver

연두색 버튼은 왜 안되고 runserver는 왜 되는지 모르겠다.

 

끌 땐 주황 네모 말고 Ctrl+c


장고에서 모델링 시 넣은 옵션 default의 값이 생성될 때 안 들어간다.

 

모델에서 img='어쩌구저쩌구' 먼저 하고 default=img 이렇게 넣어봤다.

TextField, CharField, URLField 시도

검색해봤더니 sql? 데이터베이스쪽 문제라는 글이 있었다.

문자형에선 default=True/False만 되고 아니면 해설강의 때 봤던 PositiveIntegerField(default='0')처럼 숫자만 되나보다 하고 넘어갔다.

 

views.py에서 create할 때 값이 없으면 지정한 값을 넣어서 생성하게 했다.

 

thumbnail = request.POST.get('thumbnail','')

없으면 디폴트로 지정된 값을 쓸텐데 ''는 없는게 아니다.

''가 있으니까 생성된 값이 없는거!


ls = dir

clear = cls


PostingModel에 author라는 ForeignKey가 있는데 UserInfo를 참조한다.

UserInfo의 username을 이용해서 filtering하고 싶은데 author.username을 쓸 수 없다.

PostingModel.objects.filter(author.username=username) 이렇게 하면 빨간줄

 

이것저것 검색하다가 진행사항 공유 시간이 되어서 막힌 부분을 공유했더니 테이블을 한번 봐보자셔서 봤다.

author_id라는 칼럼이 있고 숫자들이 들어가있다.

author_id=id로 해결했다가 url에 특정 사용자의 id값이 들어가지 않는게 좋다셔서 빼기로함.

그런데 velog를 보니 username처럼 사용자를 식별 가능한 url 주소를 알면 그 사람의 블로그로 들어갈 수 있다.

처음에 우리가 여쭤보고 그리고 매니저님이 답해주신건 프로필 수정처럼 개인적인 마이페이지였다.

매니저님 답변을 공유하다 알게 되었는데 다른 팀원이 생각한 마이페이지는 자신의 게시글들이 모여있는 블로그 같은거였다.

팀프로젝트 발제문의 요구사항에도 마이페이지를 모든 사용자가 볼 수 있다는 부분이 있어서 다시 특정 사용자의 username을 url에 넣기로 프로젝트 방향을 변경

모든 사람이 자신의 마이페이지를 볼 수 있어야한다는 당연한 말이 아니었다.

author_id도 1,2,3,4, ...이렇게 생성되고 id도 1,2,3,4, ... 똑같이 생성되어서 헷갈릴 것 같으니 username을 url에 넣는게 더 좋겠다.

 

 

빨간줄이 계속 안 없어져서

author_wanted = UserInfo.objects.get(username=username)

이렇게 username를 이용해서 author를 먼저 찾은 다음에 그 author를 이용하여 게시글 filtering.

my_posting = PostingModel.objects.filter(author=author_wanted).order_by('-created_at')

 

related_name을 지정해주는게 권고사항

user.my_posting_set.all() 이러면 게시글 다! 테이블이름!!!


위에처럼 튕기면 답이 없다. 팅팅탱탱

나갔다 들어가기

열린 크롬창들 전체가 안될수도 있다.

컨티뉴와 리프레시가 뜰 때 컨티뉴를 누르면 아래처럼 하얘지고 채팅과 대화는 가능

화면공유는 못본다. 내 화면 공유는 안해봤지만 안될 것 같다.

 

'TIL' 카테고리의 다른 글

TIL 041723  (0) 2023.04.17
TIL 041423  (0) 2023.04.14
TIL 041223  (0) 2023.04.12
TIL 041123  (0) 2023.04.11
TIL 041023  (0) 2023.04.10