본문 바로가기

Python/Python_Django

(9)
[Python_Django] 장고의 템플릿 언어를 이용해서 url 이름 짓기 장고에서는 템플릿 언어를 제공해준다. 템플릿 언어는 html에서 파이썬 변수와 문법을 사용할 수 있게 해주는 것으로 장고를 사용할 때 매우 유용하게 쓰인다. 이걸 이용하면 아무리 길어진 url도 변수 하나로 지정 가능해진다. HelloDjango > urls.py from django.contrib import admin from django.urls import path, include from board.views import main urlpatterns = [ path('admin/', admin.site.urls), path('', main, name = "mainPage"), # name = " "로 이 url에 이름을 만들 수 있다. path('', include('navBar.urls'))..
[Python_Django] HTML의 <a> 태그를 이용해서 페이지 이동하기 HTML에 하이퍼링크를 거는 태그가 있다. 이 태그를 이용해서 main탭과 comment탭을 왔다 갔다 할 수 있는 버튼을 만들 것이다. board > templates > board > main.html Hello Django! comment navBar > templates > navBar > comment.html This is Comment Tab main 이렇게 코드를 적고 저장하게 되면, 태그 밑에 링크가 생기게 된다. 밑에 comment 링크가 생기고 누르면 comment 페이지로 넘어가게 되고 comment 페이지에도 역시 main 링크가 있고 누르면 다시 main 페이지로 넘어가게 된다.
[Python_Django] 각 앱에서 urlpatterns 관리하기 여태껏 각 url을 관리하기 위해서는 프로젝트 이름의 폴더 내부에서 urls.py라는 파일에서 다 관리했었다. (진행할때 새로운 앱인 navBar를 추가로 만들어서 url에 넣었다.) 하지만 만약 저 url이 많아지게 된다면, 저 urls.py에 추가되는 함수도 많아지게 되면서 어떤url이 어디 페이지로 가는지 알아보기 힘들어지기 때문에, 각 앱에서 url를 관리하도록 한다. 먼저 각 앱에서 url를 관리하려면 url를 관리할 앱에서 urls.py 파일을 새로 만들고 프로젝트 urls.py 에 include라는 함수를 추가해줘야 한다. HelloDjango > urls.py from django.contrib import admin from django.urls import path, include # ..
[Pytho_Django] HTML을 이용한 메인 탭 만들기 이제 메인화면을 원하는 HTML이 화면에 보이게끔 해야한다. 먼저, 현재 만들었던 자신의 앱의 폴더에 들어가서 templates로 폴더를 하나 만들고 그 폴더 안에 다시 앱 이름과 같은 폴더를 하나 더 만든다. ex) board > templates > board 그 이유는 장고에서 HTML을 가져올때 templates의 앱 폴더에서 가져오기 때문이다. 그럼 이제 그 board 폴더 안에 메인화면을 띄울꺼니까 main.html로 파일을 하나 만든다. 그리고 일단은 간단하게만 코드를 작성한다. board > templates > board > main.html Hello Django! 이제 만든 앱의 views.py에서 웹 서버에 접속을 했을때 main.html을 보여준다는 함수를 만들어야 한다. boar..
[Python_Django] 관리자 계정에서 테이블 관리하기 장고에서는 저번에 언급했듯이 관리자 기능을 제공한다. 이 관리자 기능에서 CRUD기능이 구현 되어있어서 단 코드 몇줄로 테이블을 쉽게 관리 할 수 있게 된다. CRUD Create(생성), Read(읽기), Update(갱신), Delete(삭제) 전체를 뜻하는 말이다. 즉, 사용자 인터페이스가 기본적으로 갖춰야 할 것들을 의미한다. 관리자 계정 페이지를 수정해야 되니까 admin.py 파일에서 수정한다. 파일에서 클래스를 불러와야 하기때문에 같은 폴더에 있는 models에서 Boards를 import 해준다. board > admin.py from django.contrib import admin from .models import Boards admin.site.register(Boards) # Re..
[Python_Django] 관리자 계정 만들기 및 ORM 사용하기 장고에는 관리자 계정을 만들어서 웹 사이트를 좀 더 쉽게 관리 할 수 있는 기능이 있다. cmd\Desktop\HelloDjango> python manage.py createsuperuser 관리자 계정을 만들려면, Username(아이디), 이메일, 패스워드를 입력해야 한다. 아이디는 입력하지 않고 엔터를 누르면 윈도우 시스템 사용자 이름으로 자동 설정된다. 계정이 만들어 진것을 확인하면, 서버 url뒤에 /admin이라고 치면 로그인 창이 뜬다. ex) 127.0.0.1:8000/admin 이제 여기에다가 아까 입력한 아이디 비밀번호를 입력하면 로그인이된다. 이제 이 관리자 페이지에서 테이블을 관리 할 수 있게 해야되는데 그건 다음 게시물에서 하겠다. 먼저, 알아 둘 것은 DB에 객체값이 저장되면 ..
[Python_Django] 앱 만들기 및 DB 테이블 만들고 확인하기 App(앱) 웹 사이트를 기능별로 구분해놓은 단위를 뜻함 먼저 새로운 앱 하나를 만들려고 하면, 명령 프롬프트 창에서 그 앱이 구현하는 기능을 이름으로 만들면 좋다. 여기서는 게시물을 걸어놓는 판 기능을 만들기 위해 board를 이름으로 만들어 진행한다. cmd\Desktop\HelloDjango> python manage.py startapp board 이렇게 명령어를 치면 board라는 폴더가 하나 새로 생기게 된다. 그럼 이제 board라는 앱이 새로 하나 생겼다는것을 알려주기 위해 HelloDjango의 settings.py에서 INSTALLED_APPS부분에 만든 앱을 추가해 주어야 한다. 이제 새로 만든 앱인 board의 기능을 위해서 필요한 값들을 정한다. 게시물의 썸네일에는 썸네일 사진 하..
[Python_Django] 장고 서버 실행 및 접속 먼저 pip를 이용해서 장고를 설치한다. cmd> pip3 install Django 설치가 끝나면 시작할 웹 프로젝트 이름을 정하고 프로젝트가 만들어질 위치를 정해서 프로젝트를 만든다. 작성자는 바탕화면에 HelloDjango를 이름으로 해서 만들었다. cmd\Desktop> django-admin startproject HelloDjango 이렇게 폴더가 하나 생성된다. 이제 저 폴더가 하나의 웹 사이트를 구성 할 수 있고, 저 폴더 경로 안에서 서버를 구동 할 수 있다. cmd\Desktop\HelloDjango> python manage.py runserver 서버를 성공적으로 구동하게 되면 밑의 사진처럼 콘솔에 뜰 것이다. 이제 저기 127.0.0.1:8000에 접속하게 되면 이렇게 성공적으로 ..