반응형

Python 18

Django 검색 기능 구현

1. 검색 기능 JavaScript 추가 검색창에 Enter 또는 Go! 버튼 클릭 시 기능이 작동하도록 JavaScript를 추가합니다. 검색 값을 가져오기 위해 input 박스에 id를 지정하고 버튼에 onclick 함수를 부여합니다. 검색 버튼에서 지정했던 searchPost 함수를 구현합니다. search-input을 id로 가지는 input 박스의 값을 가져와서 length로 길이가 1 이상인지 판단합니다. 한글자 이하면 짧다는 알럿을 띄웁니다. 검색창에서 엔터키를 눌렀을 때 위에서 구현한 searchPost 함수를 실행하도록 구현했습니다. jquery를 사용했기 때문에 위의 코드를 추가합니다. 2. 검색을 위한 백엔드 작업 views의 PostSearch로 가도록 url을 설정해줍니다. 1. ..

Python/Django 2022.06.30

Django pagination 구현

view의 PostList에 paginate_by를 추가합니다. 지정한 숫자만큼 한 페이지에 나타납니다. 1. {% if is_paginated %} view에서 지정한 page의 갯수 이하일 경우 보이게 하지 않기 위한 조건 2. {% if page_obj.has_next %} 버튼 비활성화를 위해 다음, 이전 페이지가 있는지 알아내는 조건 3. page_obj.next_page_number 다음 혹은 이전 페이지 번호 제대로 출력되는 것을 확인할 수 있습니다. https://g.co/kgs/A6fcWi Do it! 장고+부트스트랩 파이썬 웹 개발의 정석: 웹 기초부터 블로그 개발·배포·운영까지, 만들면 만들면서 배우는 파이썬 웹 개발 A to Z!파이썬 기초 문법만 알면 나만의 블로그 사이트를 만들 ..

Python/Django 2022.06.30

django-crispy-form을 사용하여 폼 모양 꾸미기

1. django-crispy-form 설치하기 pip install django-crispy-forms 콘솔창에서 django-crispy-forms를 설치합니다. CRISPY_TEMPLATE_PACK = 'bootstrap4' 설치 완료 후 settings.py 파일의 INSTALLED_APP에 crispy_forms를 추가하고 crispy_forms의 스타일을 bootstrap4로 하겠다고 지정합니다. 2. html을 수정해 crispy_forms 적용하기 crispy-forms를 적용할 수 있도록 맨 위에 {% load crispy_forms_tags %}를 추가하고 폼이 테이블 형태로 나타나지 않도록 {{ form }}에 | crispy를 추가합니다. post_update_form.html도 동..

Python/Django 2022.06.27

Django 기초

pip install django private_project라는 python3.6의 가상 환경을 만들어주고 django를 설치했습니다. django-admin startproject django01 'django01'이라는 이름의 장고 프로젝트를 생성했습니다. *프로젝트 생성 시에, python 또는 django에서 사용 중인 이름은 피해야 합니다. flask와는 다르게 자동으로 디렉토리와 파일을 생성해줍니다. 편리하네요 ㅎㅎ;; 파일 각각이 하는 역할을 천천히 살펴보도록 하겠습니다. *Django에서는 보안상의 이유로 작성된 코드를 DocumentRoot에 넣는 것을 권장하지 않습니다. python manage.py runserver 서버를 실행합니다. 잘 실행 되는 것을 볼 수 있습니다. 위처럼 포..

Python 2021.01.04

그래프 기초

최고기온 추출 import csv re = open('C:/Users/Admin/Desktop/ai/Python/data/seoul.csv') data = csv.reader(re) header = next(data) #맨 윗줄 header변수에 저장하기 max_temp = -999 #최고 기온을 저장할 변수 초기화 max_date = '' #최고 기온이었던 날짜를 저장할 변수 초기화 for row in data: if row[-1] == '': #만약 데이터가 누락되었다면 최고 기온을 -999로 저장 row[-1] = -999 row[-1] = float(row[-1]) #문자열로 저장된 최고 기온 값을 실수로 변환 if max_temp < row [-1]: #만약 지금까지 최고 기온보다 더 높다면 업..

Python 2020.07.23

클래스

클래스 객체지향 프로그래밍에서 모든 데이터를 객체로 취급하고 이 객체가 프로그램의 중심이 된다. 이 때 객체의 구성요소 중 가장 중요한 개념이 클래스이다. 기본 예제 class Car : #클래스 생성 color="" speed=0 def upSpeed(self, value): self.speed+=value def downSpeed(self, value): self.speed-=value ##메인 코드 부분## myCar1 = Car() #객체(인스턴스) 생성 myCar1.color = '빨강' myCar1.speed = 0 myCar1.upSpeed(30) 'Car'라는 클래스를 생성한다. 내부에 color와 speed 변수를 생성하고 'upSpeed'와 'downSpeed'라는 함수를 생성한다. s..

Python 2020.07.21

예외처리

기본 예제 num1=input('숫자1 -->') num2=input('숫자2 -->') try: num1=int(num1) num2=int(num2) except: print("오류가 발생했습니다.") else: print(num1,'/',num2,'=',int(num1/num2)) finally: print('이 부분은 무조건 나옵니다') myStr='파이썬은 재미있어요. 파이썬만 매일매일 공부하고 싶어요~' strPosList=[] index=0 while True: try: index=myStr.index('파이썬', index) strPosList.append(index) index=index+1 except: break print('파이썬 글자 위치 -->', strPosList) 문장이 끝나..

Python 2020.07.21

파일 입출력

inFp=None inStr="" inFp=open("디렉토리 위치", "r", encoding="인코딩 형식") while True: inStr=inFp.readline() if inStr=="": break; print(inStr, end="") inFp.close() open할 때 파일 저장 포맷이 일치해야 한다. 경로는 '\' 두 개 또는 '/' 한 개로 구분한다. inFp=None inList="" inFp=open("디렉토리 위치", "r", encoding="인코딩 형식") inList=inFp.readlines() for inStr in inList: print(inStr, end="") inFp.close() Lines로 받으면 \n도 같이 출력된다. 이것을 이용하여 위와 같이 코딩할 수..

Python 2020.07.21
반응형