Django

728x90
반응형
·Django
1. settings.py에 파일 경로 추가하기STATIC_URL = 'static/'STATICFILES_DIRS = [ BASE_DIR / 'static',]static폴더에 image파일을 사용하기 위해서 static폴더를 등록해준다.폴더는 이렇게 되어 있어야 static폴더 하위에 있는 이미지 파일을 사용할 수 있다.2. templates에 img 추가하기그리고 내 경우에 templates에 있는 html파일에 바로 이미지를 추가하고자 한다.1) static 파일 사용함을 공지하기{% load static %}img태그보다 위에 static 파일을 사용한다고 지정해줘야 한다.2) img태그 경로 설정하기그럴 경우 img태그를 만들어 src에 바로 static폴더 경로를 추가해준다.
·Django
미리 페이지네이션을 구현하였고, 이제는 검색 기능을 구현하고자 한다. keyword와 page를 받고, 이를 get방식으로 호출하여 검색 기능을 구현한다.1. 템플릿 수정하기1) input과 button 추가하기 찾기 input과 button을 추가한다. 그리고 input 태그에 id로 search_kw, value로 keyword를 지정한다.2) form 추가하기 GET 방식으로 요청해야 하므로 method 속성에 "get"로 설정한다.kw와 page는 이전에 요청했던 값을 기억하고 있어야 하므로..
·Django
앱의 크기가 커지면 커질수록 뷰 파일의 함수도 늘어나게 된다. 그러면서 원하는 기능을 찾기가 어려워지게 되고, 뷰 파일의 크기가 방대해지게 된다.그래서 views.py 파일을 분리하고자 한다. 이에 두가지 방법이 존재한다.첫번째 방법폴더를 하나를 만들어 views.py안에 있는 함수를 기능별로 분류하는 방법이다.내 경우 테이블이 두 개가 있다. 질문과 답변을 받아 데이터를 관리하는데, 이를 가지고 세 가지로 분류하고자 한다.파일명 기능 함수base_views.py기본관리index, detailquestion_views.py질문관리question_create, question_modify, question_deleteanswer_views.py답변관리answer_create, answer_modify, a..
·Django
게시판의 질문, 답변에는 누가 글을 작성했는지 알려주는 "글쓴이" 항목이 필요하다. Question과 Answer 모델에 "글쓴이"에 해당되는 author 속성을 추가하고자 한다.1. Question테이블에 속성 추가하기from django.db import modelsfrom django.contrib.auth.models import Userclass Question(models.Model): author = models.ForeignKey(User, on_delete=models.CASCADE) (... 생략 ...)User 모델 :  django.contrib.auth 앱이 제공하는 사용자 모델로 회원 가입시 데이터 저장에 사용한 모델이다.CASCADE : 계정이 삭제되면 이 계정이 작..
·Django
회원가입 장고의 django.contrib.auth 앱을 이용하면 쉽게 구현할 수 있다. 이를 가지고 구현해보즈아!1.회원가입 템플릿 추가하기 // templates/navbar.html {% if not user.is_authenticated %} 회원가입 {% endif %} navbar.html 템플릿에 회원가입 템플릿을 추가해준다.2.URL 맵핑하기navbar.html 템플릿에 {% url 'common:signup' %} 태그를 추가했으므로 여기에 대응하는 URL 매핑 규칙을 추가해야 한다.// common\\urls.pyfrom django.urls import pa..
·Django
장고의 로그인, 로그아웃을 도와주는 앱은 django.contrib.auth 이다. 이를 가지고 구현해보즈아!하나의 웹 사이트에는 게시판 서비스, 블로그나 쇼핑몰과 같은 굵직한 단위의 앱들이 함께 있을 수 있기 때문에 공통으로 사용되는 기능인 로그인이나 로그아웃을 이 중의 하나의 앱에 종속시키는 것은 좋지 않다. 이러한 이유로 로그인 · 로그아웃을 "공통 기능을 가진 앱"이라는 의미의 common 앱에 구현하는 것이 좋다.1. common 앱 생성하기django-admin startapp common위의 명령어를 치면 디렉터리와 파일들이 자동으로 생성된다.// config\\settings.pyINSTALLED_APPS = [ 'common.apps.CommonConfig', ]그리고 나서 앱을 ..
·Django
페이지네이션은 보여주고자 하는 데이터가 많을 때 구현한다. 페이지네이션을 구현하기 위해서 데이터를 많이 생성하고자 한다.1. 가짜 데이터 만들기python manage.py shell데이터가 없으므로 장고 셸을 구동하여 데이터를 만들어주자!>>> from pybo.models import Question>>> from django.utils import timezone질문 데이터를 생성하기 위한 모듈을 임포트한다.for i in range(300):... q = Question(subject='테스트 데이터입니다:[%03d]' % i, content='내용무', create_date=timezone.now())... q.save()q변수를 선언할 때 shift+enter를 써서 내려쓰기를 ..
·Django
1. static 디렉터리//config\\settings.pySTATICFILES_DIRS = [ BASE_DIR / 'static',]스타일시트 파일은 장고의 스태틱 디렉터리에 저장해야 한다. config/settings.py 파일에 등록하여 사용한다.static이라는 디렉터리에 스타일시트 파일을 넣어야 하므로, static 폴더가 존재해야 한다. 이를 만들어준다.mkdir static2. 스타일 시트// static/style.csstextarea {width:100%;}input[type=submit] {margin-top:10px;}style.css 파일에는 상세화면에 적용할 스타일을 정의했다. 답변 등록시 사용하는 텍스트 창의 넓이를 100%로 하고 "답변등록" 버튼 상단에 10 픽셀의 ..
728x90
반응형
Uheeking
'Django' 카테고리의 글 목록