
Window에서 리눅스 인스턴스에 접속하려면 SSH포트를 이용해야 한다. 하지만 윈도우에서는 SSH 를 지원하지 않기 때문에, 윈도우에서 리눅스 인스턴스에 연결하기 위해서는 PuTTY 프로그램을 사용해야한다. (1) 퍼블릭 DNS - 연보라색 부분의 퍼블릭 DNS 값을 미리 저장해놓는 것이 좋다. (2) PuTTYgen.exe - Load 클릭 > 인스턴스를 생성하면서 만든 키 페어 파일 pem 로드 (3) PuTTY.exe - Connection > SSH > Auth > Browse > ppk 파일 선택 - PuTTYgen.exe 에서 생성한 ppk 파일 선택 - 이 때, 바로 Open 누르면 안된다. - 바로 Open 누르지 말고 Session 탭으로 넘어와서 (1) 에서 확인한 연보라색 퍼블릭 D..

1. 시크릿 키 분리 시크릿 키를 분리해야한다. 일단 아래의 사이트에서 시크릿 키를 발급받는다. https://miniwebtool.com/django-secret-key-generator/ Django Secret Key Generator Django Secret Key Generator miniwebtool.com manage.py 파일이 있는 경로에 secrets.json 이름의 파일을 만들어 아래와 같이 저장한다. { "SECRET_KEY" : "발급받은 키" } settings.py 에서 다음과 같이 시크릿키 적용 import json from django.core.exceptions import ImproperlyConfigured secret_file = os.path.join(BASE_DI..

● 태그 달기 - Post 객체에서 태그 필드는 TaggableManager() 모듈을 사용했다. 아래의 공식문서에서 모듈 사용법을 보고 따라했다. https://django-taggit.readthedocs.io/en/latest/api.html The API — django-taggit 1.2.0 documentation After you’ve got your TaggableManager added to your model you can start playing around with the API. Filtering To find all of a model with a specific tags you can filter, using the normal Django ORM API. For example..

● 게시물 댓글 post/models.py - 기존에 있던 class Post 밑에 추가한다. - 댓글 객체도 Post 객체와 마찬가지로 BaseModel을 상속받아 'created_at', 'modified_at' 필드가 추가된다. - 댓글은 누가 작성했는지 (User 객체), 어떤 게시글에 작성했는지 (Post 객체) 두 개의 필드에 대해서 외래키를 사용하며 댓글 내용은 TextField를 적용한다. class Comment(BaseModel): post = models.ForeignKey(Post, on_delete = models.CASCADE) user = models.ForeignKey(User, on_delete = models.CASCADE) content = models.TextField..

● 게시물 좋아요 버튼 post/views.py - 좋아요 버튼에 대한 로직. - 로그인한 사용자인 경우와 POST method인 경우에만 post_like 로직에 접근할 수 있다. - POST 요청된 페이지의 post_id 를 갖는 게시물 페이지를 확인하고 게시물 객체를 post에 저장 - 현재 게시글의 좋아요 필드에 사용자의 id 가 존재하는지 확인하여 Boolean 값으로 저장한다. - reverse 는 주소를 만들어준다. post_detail 에 post_id 를 추가해 'post_detail/post_id/' 경로를 만들어 현재 게시물로 이동하도록 한다. @login_required @require_POST def post_like(request): post = get_object_or_404(..

● 게시물 상세보기 post/views.py - post_list.html 글목록 페이지에서 해당 글을 클릭하면 'post_detail' 경로에 post_id를 함께 전달한다. - post_detail 에서는, get_object_or_404(모델, 키워드) Post 모델에서 post_id 가 존재하는 경우에는 객체를 가져오고 아니면 404 에러를 띄우도록 한다. - is_liked 는 좋아요 버튼이 눌려졌는지에 대한 변수로 디폴트 값은 False이다. - 만약 사용자가 좋아요 버튼을 눌렀는지(filter) 확인하여(exists) 좋아요를 눌렀다면 is_liked = True로 설정하여 나중에 좋아요 버튼을 취소할 수 있도록 한다. - 'post_detail.html' 템플릿과 함께 게시물 객체 post..

● 게시물 목록 post/views.py - 게시물 목록 관련 로직은 Post 객체를 모두 받아온 것을 html로 보내 나타낸다. - 최신순으로 정렬한 게시물들을 posts에 저장하고 'post_list.html'와 같이 렌더링한다. def post_list(request): posts = Post.objects.order_by('-created_at') return render(request, 'post_list.html', context = {'posts':posts}) templates/post_list.html - 역시 html은 어렵다. 좀 더 블로그스럽게 css를 변경했다. 이번에는 테이블에서 글 목록을 정렬하는 방식아니라 텍스트 형식으로 나타낸다. - a 태그를 사용하여 post-title ..

● 게시물 작성 post/views.py - 쇼핑몰 프로젝트에서는 직접 login_required를 만들어서 @mehod_decorator(login_required, name = 'dispatch')으로 접근 권한을 관리했다면, 이번에는 'django.contrib.auth.decorators' 장고 내장 모듈을 사용하여 @login_required으로 원하는 함수를 감싸서 해당 로직에 대한 접근을 관리한다. - POST 요청일 경우( 글을 작성하고 "저장하기" 버튼을 누른 경우), 사용자가 작성한 정보 title, content, image 에 대한 값을 가져오고 Post 객체 생성한다. - 게시물 객체를 생성하고, reverse 함수를 사용하여 현재 생성한 게시물의 상세페이지 주소를 만들고 redi..
- Total
- Today
- Yesterday
- django 게시판
- UITableViewController Not Working
- Django
- 장고 게시판
- Firebase 데이터베이스 추천
- django tag
- CellForRowAt Not Called
- python 웹 배포
- iOS UITableView 출력안됨
- django 태그
- 까만 화면
- 알파벳 카운팅
- iOS 검은 화면
- cleaned_data
- 실시간 데이터베이스
- pythonanywhere배포
- pythonanywhere배포방법
- iOS 화면 안나옴
- 장고 태그달기
- 데이터베이스 추천
- iOS 데이터베이스
- django clean
- django 로그인접근
- Realtime Database
- django 개발일지
- ModelForm Form 차이
- 웹 배포
- 테이블출력안됨
- django pythoneverywhere
- CellForRowAt 호출안됨
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |