
● 배포를 위한 django settings.py 설정 (DEBUG, ALLOWED_HOST, STATIC_ROOT) - pythonanywhere.com 에 배포하기 위해서는 설정해야하는 값들이 있다. (1) STATIC_ROOT - static 파일들을 모두 수집해서 디렉토리의 한 폴더에 저장해주는 기능을 사용한다. 이 디렉토리는 배포서비스에서 경로를 지정할 수 있다. STATIC_URL = '/static/' # STATICFILES_DIRS = [ # os.path.join(BASE_DIR, 'static'), # ] STATIC_ROOT = os.path.join(BASE_DIR, 'static') (2) DEBUG, ALLOWED_HOST - 배포할 때에는 디버그 모드를 False로 해야한다...

● Tag 태그는 views.py , templates를 따로 사용하지 않는다. 왜냐면 태그는 게시물에 추가되는 것이기 때문에 따로 필요하지 않기 때문이다. 앞서 만든 Board 모델, 게시물 작성, 게시물 목록에 태그 내용을 추가해주기만 하면 된다. 추가된 태그 부분은 ### 주석처리하여 표시 ● tag models.py 모델링 from django.db import models class Tag(models.Model): name = models.CharField(max_length=32, verbose_name="태그명") registered_date = models.DateTimeField(auto_now_add=True, verbose_name="등록시간") def __str__(self): r..

● 게시물 상세보기 views.py from django.http import Http404 def board_detail(request, pk): try: board = Board.objects.get(pk=pk) except Board.DoesNotExist: raise Http404('해당 게시물을 찾을 수 없습니다.') return render(requet, 'board_detail.html', {'board' : board}) - 생각보다 게시물 상세보기 함수는 간단하다. pk란, 데이터베이스에서 각각의 레코드를 식별하는 기본키 (Primary Key)이다. 다시 말해, 게시물 각각의 고유 번호가 된다. - url에서 게시물 id 값을 받도록 하는데 이 값을 pk로 받아온다. 해당 pk값을 갖는..

● 게시물 목록 views.py from django.core.paginator import Paginator def board_list(request): all_boards = Board.objects.all().order_by('-id') page = int(request.GET.get('p', 1)) paginator = Paginator(all_boards, 6) boards = paginator.get_page(page) return render(request, 'board_list.html', {'boards':boards}) 위와 같이 글목록 페이지가 만들어진다. all_brands는 모든 게시물을 QuerySet으로 받아서 저장하고, 게시물의 id 역순으로 배열하여 최신순으로 나타나게 한다..

● 게시판 모델링 models.py - 게시글의 작성자는 사용자 모델에서 가져오는 것이므로 Foreign Key를 사용한다. 한 명의 작성자가 여러 개의 게시글을 작성할 수 있기 때문에 일대다 (1:N) 관계를 갖는다. - on_delete = models.CASCADE : 사용자가 탈퇴하거나 사라지면 해당 사용자가 작성한 글들도 함께 사라지게 된다. from django.db import models class Board(models.Model): title = models.CharField(max_length=64, verbose_name="제목") contents = models.TextField(verbose_name="내용") registered_date = models.DateTimeField..

1-1. 로그인 views.py ( 함수 버전 ) - 로그인 뷰는 GET 방식과 POST 방식을 나눠서 진행하고, username, password 정보를 받는 것에 있어서 회원가입 뷰와 비슷하다. 추가되는 부분은 입력한 아이디가 존재하는 아이디인지, 비밀번호가 일치하는지 확인하는 부분이다. - 로그인창에서 입력한 username과 똑같은 username 갖는 사용자를 가져와서 user에 저장한다. 여기서 사실은 아이디가 존재하지 않을 경우의 예외처리가 필요하지만 어떻게 하는지 까먹었다. (이것이 개발일지를 작성하는 이유.... ㅠ 아마 앞으로 있는 포스팅에 언급될 예정) - check_password 를 사용하여 입력한 비밀번호와 user에 저장된 비밀번호가 일치하는지 확인한다. 일치한다면, 세션 정보..

1. 회원가입 views.py - views.py 파일은 화면에서 이루어지는 로직들을 담는 파일이다. 회원가입 url에 접속하는 경우는 두 가지로 나뉜다. 그냥 아무런 액션을 취하지 않고 페이지에 있는 경우(GET), 회원가입을 위한 정보를 입력하고 '회원가입' 버튼을 누르는 경우(POST) 두 가지로 나눠서 생각해야한다. - 이 두가지를 어떻게 구분할 수 있을까? url에 연결되었을 때, 요청정보가 request라는 변수를 통해서 들어온다. 요청된 페이지가 GET 인지 POST 인지 알 수 있다. - 그렇다면 두 가지를 나눈 다음에는 어떻게 다르게 표시해야하는가? 'GET' 의 경우에는 그냥 회원가입에 해당하는 html 파일을 연결해주면 된다. 'POST'의 경우에는 입력된 정보를 인식하고 users ..

1. users models.py : 사용자 정보 모델링 - 사용자에 대한 정보를 어떻게 표현하고 어떤 형식으로 할 것인지.. 지정하는 모델링 - 사용자의 정보를 담는 class를 선언한다. 사용자 정보가 필요한 다른 파일 안에서도 해당 클래스의 모델을 가져와서 사용할 수 있다. from django.db import models class Users(models.Model): username = models.CharField(max_length=32, verbose_name = "사용자 이름") password = models.CharField(max_length=64, verbose_name = "비밀번호") useremail = models.CharField(max_length = 128, verb..
- Total
- Today
- Yesterday
- 알파벳 카운팅
- Django
- django pythoneverywhere
- ModelForm Form 차이
- django clean
- iOS 데이터베이스
- 웹 배포
- CellForRowAt 호출안됨
- django 로그인접근
- 장고 게시판
- django 태그
- python 웹 배포
- 실시간 데이터베이스
- cleaned_data
- django 게시판
- django 개발일지
- iOS UITableView 출력안됨
- UITableViewController Not Working
- 까만 화면
- Firebase 데이터베이스 추천
- CellForRowAt Not Called
- 장고 태그달기
- iOS 검은 화면
- pythonanywhere배포
- pythonanywhere배포방법
- 데이터베이스 추천
- iOS 화면 안나옴
- 테이블출력안됨
- django tag
- Realtime Database
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |