python 46

[Django] 6. 장고 템플릿 구현

이번엔 질문과 답변을 템플릿을 이용해서 만들어보자. #pybo/views.py from django.http import HttpResponse # http의 응답 from .models import Question def index(request): ''' pybo 목록 출력 ''' question_list = Question.objects.order_by('-create_date') # -로 역순 context = {'question_list':question_list} return render(request,'pybo/question_list.html',context) # 연결되는 html, 전달할 매체 context render를 이용해서 context에 key : value로 있는 questio..

python/Django 2021.12.22

[Django] 5. 장고 Admin 활용

이전 포스팅에서는 shell을 이용해서 db에 데이터를 추가하고 삭제했다. flask를 사용하다가 장고를 사용하면서 가장 충격받았던 기능이 Admin기능인데, 관리자 계정을 추가하고 관리자 페이지로 접속하면 Admin페이지에서 데이터 추가 / 삭제가 가능하다. python manage.py createsuperuser superuser를 추가해보자. 위의 사진처럼 아이디와 패스워드를 입력해주자, 짧다고 경고문구가 나오지만 무시하고 y 입력하자. 127.0.0.1:8000/admin 으로 접속하면 다음과 같은 화면이 나온다. 아까 지정한 superuser 정보를 입력하면 접근이 가능하다. 첫 화면엔 우리가 정한 pybo 서비스가 보이지 않는다. admin페이지에서 Question를 등록해주자. from d..

python/Django 2021.12.22

[Django] 4. 장고 셸을 이용해 데이터 만들기

이전 포스팅에서 pybo 모델을 만들었다면, 이젠 데이터를 넣어줄 시간이다. 장고 프로젝트 디렉터리에서 python manage.py shell 을 입력하면 장고 셸이 실행된다. from pybo.models import Question, Answer from django.utils import timezone 파이썬과 비슷하지만 조금 다른 장고셸이다. 위와같이 임포트해주고, q = Question(subject = '', content = '', create_date = timezone.now()) q.save() 제목과 내용은 입맛에 따라 입력해주고, 저장해주면 데이터베이스에 저장된다. q.id를 입력하면 자동으로 생성되는 q의 primary key가 출력된다. 위와같은 방식으로 2~3개정도의 데이터..

python/Django 2021.12.21

[Django] 3. 모델 적용

장고가 플라스크보다 편리한 점중 하나가 바로 db를 알아서 생성해준다는 것이다. 나는 이미 어느정도 진행한 상태에서 포스트를 적느라 메세지가 뜨진 않지만, 책에 써있는대로 따라가다보면 서버를 구동시킬 때, You have 18 unapplied migration(s) ... 이런 경고메세지가 보인다. 바로 아래에 RUN 'python manage.py migrate' 라고 써 있는걸 보니 저 커맨드를 입력하면 해결되나보다. 터미널에 저 명령어를 입력하고 실행하자. 그럼 왜 저런 경고메세지가 나올까? config/settings.py 를 확인해보면, ... INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.co..

python/Django 2021.12.21

[Django] 2. 서비스 생성

책에서는 pybo 라는 이름으로 시작한다. pybo는 이름일뿐이니 원하는 서비스명을 바꿔줘도 상관없다. 장고 프로젝트 터미널에서 django-admin startapp [서비스명] 을 입력하면, 자동적으로 폴더와 다른 파일들이 생성된다. pybo라는 서비스를 만들었지만, 큰 토대만 있을 뿐, 실제로 서비스되고있는건 없다. 그렇기때문에 127.0.0.1:8000/pybo 에 접속해도 404가 뜰 것이다. 그럼 해당 url이 어떤 응답을 하도록 코드를 수정해주자. # config/urls.py # url 꾸러미들. from django.contrib import admin from django.urls import path from pybo import views # pybo의 views urlpattern..

python/Django 2021.12.21

[Django] 1. 장고 시작

새로운 프레임워크를 사용하고자 Do it! 장고편으로 장고를 익혀보자. 우선 장고 설치 이전에 장고 프로젝트를 생성해보자. cmd 에서 mkdir을 이용해도 좋고, 우클릭으로 폴더를 만들어도 좋다. 나는 Django라고 이름 지었다. 파이썬과 파이참은 설치되어있다는 가정 하에, pip install django 를 통해 장고를 설치하고, 프로젝트 폴더에 들어가 터미널에 django-admin startproject config . 을 입력해주면 장고프로젝트가 생성되고, python manage.py runserver 을 통해 서버를 구동시키면, 127.0.0.1:8000 에 접속하면 초기 화면이 세팅된다.

python/Django 2021.12.21

[파이썬 기초] if ~ else

얼마 전부터 지식인 답변을 다는 취미가 생겼다. 대놓고 이런 기능 짜달라부터 코드 에러잡아달라는 것 까지. 조건문을 한번 다뤄보자. if 만약~ 이라는 뜻이다. 뒤에 오는 값이 True or False인지를 판별해서 참이면 아래에 있는 코드를 실행, 거짓이라면 다음으로 진행되는 함수이다. 거짓일 때만 실행시킬 코드는 다음과같이 만든다. else 참이면 if아래 구문을 실행시키고 거짓이면 else아래 구문을실행시킨다. if ~ else만 사용하면 너무 이분법적인 사고같다. 그럴 때 사용하는 elif 처음 if문은 거짓이지만 새로운 조건을 만들 때 사용한다. 예시로 성적을 가지고 등급을 나누는 코드를 짜보자. 90~100 : A 70~89 : B 50 ~ 69 : C ~49 : D def grade_calc..

python/기초 2021.11.23

Flask - Html 파일/이미지 전송

지금은 페이지에서 파일을 업로드하고 서버에 저장하는 작업을 진행해보자. 파일 선택 - 업로드의 간단한 페이지이니 따로 html을 만들기보단 직접 return에 html을 작성하자 @app_fun.route('/file_upload') def file(): return ''' ''' 위와 같은 화면이 나온다. 파일을 선택해서 제출하게되면 form action의 url로 post 방식으로 데이터를 전달한다. 파일을 담아서 던져줘야하기때문에 enctype = "multipart/form-data" 를 명시해주자. 같은 url에 get / post를 이용해서 다른 기능을 구현해보자. @app_fun.route('/file_upload',methods = ['GET','POST']) def file(): retu..

python/웹 2021.11.18

[파이썬 웹] flask를 이용한 웹페이지

https://github.com/giho5374/flask_web 간단하게 웹페이지를 만들어 보았다. registerform은 https://velykitty-itnote.tistory.com/43 여기에 있는 폼을 조금 수정했다. db설계 -> 회원가입 -> 로그인 -> 글쓰기등의 기능만 구현한 상태이며, html 예쁘게 꾸며보겠다고 시도하다 포기하고 초라한 외형만 구현했다. node나 vue같은 툴을 다룰 줄 알았으면 api형태로 만들었겠지만, 아직 가야할 길이 멀다. 구조는 대강 아래와 같다. 실행파일에는 config와 세션 만료의 기능만 담겨있고, fun에 uri, db_model에 모델 구성정보가 정의되어있다. 앞선 포스트에서 언급했듯, fun은 blueprint를 사용했다. # app.py ..

python/웹 2021.10.22
반응형