Django

Django 0914 내가 만든 프로그램과 연계

OnejinSim 2023. 9. 14. 02:07

 

https://wikidocs.net/70838

 

 

 

2-08 부트스트랩

* `[완성 소스]` : [github.com/pahkey/jump2django/tree/2-08](https://github.com/pahkey/jump2django/tree/…

wikidocs.net

템플릿 파일은 뷰스를 어떻게 보여줄건지 html로

 

모델 데이터구조를 담는 orm 객체관계모델

타이틀, 컨텐트, 시간 이 모델에

 

기존 데이터베이스 쓰려면 sql select, 이거를 장고에서 쓰는 객체비슷한 모델 형태로 실제로 낫널은 아니지만 객체형태로 관계형 데이터베이스를 관리할 수 있는것을 orm

 

우리 목표는 질문 답편게시판 장고로 만들어 면접때 키워드들을, 프레임워크, mtv 등 답변할 수 있게

 

이번 시간에는 저번 까지는 html까지 했는데 css로 디자인 요소, 부트스트랩 라이브러리로 디자인 해보기

 

p.97

프론트엔드쪽을 스태틱이라고, 베이스트랙토리 / '스태틱'

 

https://getbootstrap.com/docs/4.5/components/alerts/

 

Alerts

Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages.

getbootstrap.com

여기서 부트스트랩의 요소들을 미리 볼 수 있으니 참고하면 된다.

 

 

git add *

git commit -m "..."

git push

 

모델스.파이 에 만들어둔 퀘스쳔폼에서 받아서 사용

메타안에 모델명과 어떤 거를 받을것인지

 

 

html 버튼을 만들어서 urls.py을 호출하고 urls.py이 views의 함수를 호출하고 이 함수에서 필요한거는 forms.py에서 만들어둔다.

 

 

ocr.html을 띄우기 위해

question_list.html에 <a href="{% url 'pybo:ocr_page' %}">link</a>

urls.py에 path("ocr/", views.ocr_page, name='ocr_page'),

views.py에 

def ocr_page(request):
      ...
      return render(request, 'pybo/ocr.html', context)

 

로 ocr.html을 연결시켜 띄워줄 수 있다.

 

 

...

 

 

이론상 완벽해보였지만 아무리 해도 ocr.py의 결과값을 호출해 올 수가 없었다.

정말 몇시간의 삽질 후에 답을 알 수 있었다. 속이 너무 후련하다.

 File "/Users/sim-onejin/Coding/python/projects/mysite/pybo/ocr.py", line 4, in <module>
from google.cloud.vision_v1 import types
ModuleNotFoundError: No module named 'google'

날 괴롭힌 녀석은 이 녀석이었는데 별도의 파일에서 만들어서 실행 했을땐 잘만 되던 녀석이 아무리 해도 이 오류 때문에

들어먹질 않는 것이다. 긴 연구 끝에 알아낸 답은

가상환경에 설치가 되어 있지 않은 것이었다..!

이 장고는 가상환경을 하나 만들고 그곳에서 실행 중이었기에 설치가 되어있지 않다고 말한 것이었다.

내가 쓰는 환경에서 원하는 모듈이 설치 되어있는지 찾아보는 법은

pip freeze

이다.

이곳에 google-cloud-vision==3.4.4와 같이 설치 되어있는지 살펴보자.

설치 되어 있지 않다면

pip install google-cloud-vision

로 설치해주자.

나는 설치를 해주었는데도 실패를 한번 했는데 이유는 초기세팅의 실수로 가상환경을 두 개 만드는 바람에 시간을 조금 더 헛날렸다.

(나의 환경은 mysite가 아니라 myenv인데 딴데서 하고 있었다.)

알맞은 가상환경인지 확인하자.

 

 

 

이번에 더 배운것은 ocr.py와 같은 파일에서 값을 불러올땐 마지막 줄에 함수호출-함수명() 이 없이 함수 정의만 있어야 한다는 것과

파일들의 경로가 보이는 것과 다르게 파이썬이 실행되는 위치를 기준으로 상대경로를 써야한다는 것이다.

이는 파이썬으로 접속후 

>>>import os
>>>print(os.getcwd())

로 알 수 있다.

 

https://fhaktj8-18.tistory.com/entry/django-form-select-option-get

 

[django] 장고 form select option 값 뷰 함수에서 GET으로 받기

결과 미리보기 키오스크 판매관리 웹시스템을 만들 때, 키오스크 조회 메뉴에서 select option을 선택하는대로 조회 화면이 바뀌는 걸 구현하고 싶었다. 아래는 기능이 구현된 움짤이다. 이렇게 구

fhaktj8-18.tistory.com