Python/Do Something 33

python(django) - 장고로 웹페이지 만들기 (8)

지난 편에서는 sqlite3 database에 있는 data를 출력하고 특정 게시글을 눌었을 때 별도의 URL페이지를 통해 디테일한 화면으로 이동할 수 있도록 설정하였다. 2022.11.12 - [Python/Do something] - python(django) - 장고로 웹페이지 만들기, detail page (7) 이런 과정에서 3개의 html 파일이 생겼고, 중복되는 부분이 많다. 중복되는 부분은 합쳐야 관리가 쉽다. 우선 navi.html로 신규 파일을 하나 생성하자. 이 파일을 main base로 사용할 예정이다. navi.html에 아래 내용을 붙여넣자. 내용 자체는 기존 base2.html 에 있던 내용들 중에서 바뀌지 않는 부분만 유지하고 내용이 변경되는 부분은 밑에 {% block ma..

Python/Do Something 2023.01.17

python(django) - 장고로 웹페이지 만들기, detail page (7)

지난 글에서는 sqlite3 datebase에 저장된 data를 실제 웹 화면에 출력하는 것을 진행했다. blog의 detail한 화면을 보기 위해서 modal을 이용해서 팝업 형태로 상세 내용을 확인했다. 하지만 팝업 형태가 아니라 별도 도의 URL주소와 page를 할당하는 형태로 하려면 어떻게 해야 할까? 추가 app은 만들지 말고 기존 blog app을 활용해서 최대한 간단하게 만들어보자. 우선 blog의 app의 views.py에 아래 새로운 class를 추가한다. class PostList2(ListView): model = Post template_name = 'blog/base2.html' # ordering = '-pk' 다음으로 urls.py에 아래 내용을 추가하면 http://127.0..

Python/Do Something 2023.01.17

python(django) - 장고로 웹페이지 만들기, views (6)

이전 편에서는 django admin 페이지를 통해 db에 data를 넣는 것을 진행했다. 그럼 이제 넣은 data를 웹페이지에 출력하도록 하자. 기존 views.py를 보면 단순하게 html만 전송하고, data를 가져오는 절차가 없다. 이제 data를 넣어주는 절차를 추가해보자. from django.shortcuts import render # Create your views here. def index(request): return render( request, 'blog/base.html', ) FBV대신 CBV를 활용할거기 때문에 아래 처럼 단순하게 PostList Class를 사용한다. views.py를 열고 ListView, Post를 import하고 아래 내용을 추가하자. *여기서 tem..

Python/Do Something 2023.01.17

python(django) - 장고로 웹페이지 만들기, models, database (5)

이전 편에서는 bootstrap을 통해 웹페이지의 Navigator, 본문 넣기, modal, footer 등을 추가했다. 하지만 이렇게 페이지를 만들 경우 사용자는 페이지의 단순한 내용 업데이트를 위해 html을 계속 수정해야 한다. 그럴수는 없으니 db에 data를 넣고 해당 내용을 불러오는 것을 해보자. 여기서부터는 복잡하니 간단히 요약해보고 하나하나 진행해보겠다. 1. models.py 설정 2. sqlite3 설명 및 migate 3. data추가 페이지 만들기(admin) 4. image와 file upload 기능 ========================================================================================== 1. models..

Python/Do Something 2023.01.17

python(django) - 장고로 웹페이지 만들기, bootstrap modal (4)

지난 편에서는 bootstrap을 통해 간단하게 네비게이션 바를 만들었다. 이번에는 조금 더 그럴싸하게 꾸며보고 다음에는 models를 이용해서 datebase까지 만들어보자. 2022.11.05 - [Python/Do something] - python(django) - 장고로 웹페이지 만들기, bootstrap(부트스트랩) (3) 우선 이미지 파일을 저장할 경로를 지정해주자. 기존 css, js가 있던 static 폴더에 blog 폴더를 만들고 images 폴더를 만들자. (폴더 경로는 변경해도 되며 html에 경로 설정만 잘 해주면 된다. - 뒤에 참고) C:\pyminv\pymin_django2\blog\static\blog\images 그리고 웹피이지에 출력되길 원하는 이미지 파일을 하나 넣어준..

Python/Do Something 2023.01.17

python(django) - 장고로 웹페이지 만들기, bootstrap(부트스트랩) (3)

이번 편에서는 models 를 활용해서 sqlite3에 db table을 만들고 여러가지 data를 넣는 것을 할까 하다가.. 우선 bootstrap을 통해 html부터 꾸며보고자 한다. bootstrap은 간단히 말하면 web을 꾸밀줄 모르는 사람들에게 편리하게 많은 것을 제공해준다. 심지어 PC가 아니라 모바일 등 화면을 줄여도 그에 맞게 형태가 변화하는 반응형 web을 만들어준다. 좋다.. 우선 bootstrap을 활용하기 위해 bootstrap에 접속해보자. 그냥 bootstrap 페이지로 들어가면 현재 기준으로 5.X 버전인데 나는 4.6v을 사용하기로 한다. (버전은 오른쪽 위에서 변경 가능하며, 아래 링크를 통하면 바로 접근이 가능하다) https://getbootstrap.com/docs/..

Python/Do Something 2023.01.17

python(django) - 장고로 웹페이지 만들기 (2)

이전 편에서는 django 프로젝트 생성을 위해 가상 환경을 만들고 필수 패키지 및 프로젝트를 생성하였다. 2022.11.05 - [Python/Do something] - python(django) - 장고로 웹페이지 만들기 (1) 이번에는 본격적으로 app을 생성하고 내가 만든 html을 화면에 띄워 보도록 하자. python manage.py startapp로 원하는 app 이름을 만들자. 이름은 아무거나 해도 상관없지만 django에 샘플로 나와있는 blog를 app 이름으로 해보았다. Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpa..

Python/Do Something 2023.01.17

python(django) - 장고로 웹페이지 만들기 (1)

파이썬 웹 프레임워크를 생각하면 flask와 django가 있다. 정말 단순한 페이지만 간단하게 만들고 싶다면 flask가 초반 접근성이 편하고 로그인기능 등 이미 만들어진 모듈들을 끌어다 쓰고 싶으면 django가 편하다고 생각한다. 둘다 좋은 프레임워크라고 생각하며, flask는 많이 다루어봤으니 이번엔 django로 웹페이지를 만들어본다. 우선 가상 환경부터 설치한다. 가상환경 이름은 원하는대로 만들자. PS C:\pyminv> python -m venv pymin_django2 다음으로 가상 환경이 설치된 경로로 가서 activate 파일 실행시키면 가상 환경으로 접속이 된다. PS C:\pyminv\pymin_django2\Scripts> .\activate (pymin_django2) PS C..

Python/Do Something 2023.01.17

python(kivy) - kivy로 안드로이드 App 만들어보기 (3)

우선 지난번과 같이 kivy가 생성된 venv 디렉토리에 별도의 디렉토리를 만들고 main.py에 아래와 같이 붙여 넣고 실행해보자. from kivy.app import App from kivy.uix.widget import Widget from kivy.graphics import Color, Ellipse class MyPaintWidget(Widget): def on_touch_down(self, touch): with self.canvas: Color(1, 1, 0) d = 30. Ellipse(pos=(touch.x - d / 2, touch.y - d / 2), size=(d, d)) class MyPaintApp(App): def build(self): return MyPaintWidge..

Python/Do Something 2023.01.17

python(kivy) - kivy로 안드로이드 App 만들어보기 (2)

2편에서도 마찬가지로 아주 간단한 예제를 보면서 kivy에 대해 조금 더 알아보자 우선 kivy가 설치된 venv 폴더에 들어가서 파이썬 파일을 만들고 아래와 같이 입력해보자 import kivy kivy.require('2.1.0') # replace with your current kivy version ! from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') if __name__ == '__main__': MyApp().run() 그리고 실행하면 아래와 같이 테스트 앱이 실행된다. 이번에도 동일 디렉토리에 파이썬 파일을 만든후 아..

Python/Do Something 2023.01.17