분류 전체보기 462

[Django] 장고 입문 6. 템플릿 상속(Templates 상속, base.html)

1. Templates 상속 템플릿 상속이란, html 화면 상 계속해서 중복되는 부분을 별도의 .html 분류하여 1번만 작성하고 계속해서 재사용하는 아주 편리한 기능이다. ​ - 주로 base.html로 이름을 정하고, 베너(header)나 footer부분, 전체적인 틀을 정의한다. ​ ​ base.html 1. 먼저 tempaltes.html 안에 base.html 파일을 생성한다. 2. base.html이 뼈대가 되어 재사용 되어진다. 3. 컨텐츠를 채워놓을 공간을 content 블럭으로 구분한다. 이부분이 모든 페이지에 공통으로 들어갈 요소 {% block content %} {% comment %} base.html을 상속한 템플릿에서 구현해야 하는 영역 {% endcommen..

Django/기초 2021.06.13

[Django] 장고입문 5. model, 웹 화면(html, 프론트)에 출력하기, 뿌리기

django model을 명시해주었다면, 이제 이 모델을 이용하여 Web 화면에 출력을 할 수 있다. ​ (순서) 1. models.py 정의 2. views.py 함수 작성 3. urls.py 연결 4. html에 템플릿 변수로 데이터 불러오기 ​ 1. views.py 작성 ( QuerySet 과 템플릿 변수) ​ 앞에서 정의한 Designer Model을 이용한다. 1. 먼저 views.py 안에 models.py를 import 해준다. 2. 함수 안에 모델 객체를 불러올 변수를 선언한다. (designer) 3. designer = models.Designer.objects.all() 의 뜻은, designer 변수 안에 Designers 모델의 모든 객체 정보를 담겠다는 의미이다. 4. 7번째줄의..

Django/기초 2021.06.13

[Django] 장고 입문 4. Model 과 Admin

실습을 하기 전에 장고 model과 admin의 이해도를 올리기위한 개념을 집고 넘어간다. ​ 1. 장고 ORM이란 무엇인가? - ORM이란 (Object-Relational Mapping), 객체(Object)와 관계형 데이터베이스의 데이터를 매핑해주는것을 의미한다. - 서버에서 데이터베이스의 모델들을 관리하기 위해서는 관계형 데이터베이스를 연동하여 SQL언어로 관리해야한다. - 하지만 ORM 라이브러리는 각 프로그래밍 언어를 활용하여 sql 코드로 변환시켜 활용한다. 따라서 따로 sql구문을 몰라도 데이터들을 관리(CRUD) 할 수 있도록 도와준다. - 장고에서는 Django Model 이 ORM이다. ​ (ORM 예시) Java : Hibernate / PHP : Propel & Doctrine /..

Django/기초 2021.06.13

[Django] 장고 입문 3. views.py, urls.py 연결

1. Views.py * 장고 project에 앱을 연결했다면, views.py 와 urls.py를 설정해 주어야한다. ​ - views.py의 역할은, html파일이 화면에 어떻게 보일지를 설정한다. - views.py는 들어오는 요청 url을 파싱하여 라우팅 처리된 특정 요청을 처리하는 공간이다. (화면에 뿌리는 방식, 메소드, 함수와 비슷함) ​ - views.py를 작성하는 방법은 2가지가 있다. 이에 대해서는 나중에 공부를 하도록 하자 1. FBV - 함수 기반의 뷰 (Function Based View) 2. CBV - 클래스 기반의 뷰 (Class Based View) FBV 방식 - 오타났네요 render 입니다 ^^ * 위의 예시 사진은, "home"이라는 이름의 함수를 정의해준 것이다...

Django/기초 2021.06.13

[Django] 장고 입문 2. 프로젝트 & 앱 생성, 연동

1.장고 프로젝트 생성 * 가상환경을 활성화 시켰으면 프로젝트 폴더를 생성하면 된다. 명령어는, $ django-admin startproject 2. 장고 서버 작동 * 장고 프로젝트를 만들면, 드디어 서버를 돌릴 수 있다. 1) 프로젝트 폴더로 이동 2) runserver 명령어 입력 $ python manage.py ruserver - runserver 동작시, 문제가 없다면 포트 주소가 생성되고 Ctrl+클릭시 웹서버로 이동한다. - 서버를 종료하고싶다면 Ctrl + c 를 입력하면 runserver가 종료된다. (장고 서버 닫기) ​ 3. App 생성하기 - 프로젝트폴더를 성공적으로 생성했다면 프로젝트 폴더안에 App폴더를 생성할 수 있다. - App들이 모여서 프로젝트가 완성되는것이다. - A..

Django/기초 2021.06.13

[Django] 장고 입문 1. 가상환경 설정( 장고 시작 )

1. 장고 실행 - 장고는 VsCode로 실행 합니다. - 장고를 실행 할 폴더에 git bash창을 킵니다. - CLI 창에 "code . "을 입력하면 간단하게 VsCode를 실행할 수 있습니다. ​ ​ 2. 가상환경 설정 - 장고를 실행하기 전에 가상환경을 실행해 주어야합니다. - 가상환경을 설정해주는 이유는 Django에서 제공해주는 많은 패키지들을 다운받아야하는데 - 각 프로젝트마다 고립된 개발환경을 설정해 주기 위해서 가상환경을 사용해 줍니다. (pip, virtualenv, pipenv) ​ (가상환경 설치 방법,과정) 1) VsCode의 터미널 창을 bash창으로 설정해 줍니다. ​ 2) 가상환경 폴더 만들기 "python -m venv " - : 만들어줄 폴더 이름을 설정해 줍니다, ex..

Django/기초 2021.06.13

Django - migrate 오류 'No migrations to apply'...

후.. Django migrate 오류 처리 해결 과정을 기록하기위해 글을 남긴다. 장고와 mysql 연동후 Django 내에 있는 sqlite3.db 파일과 migrate 파일 제거해주었다.(init 파일 빼고) 그 후에 평소처럼 1. makemigrations 2. migrate 를 해줬는데 1. makemigrations (성공) 2. migrate (실패...) ...?? 다시 해보았는데 안된다. 아래의 블로그 글을 보고 fake migrations을 해도 똑같다. http://ai-hub.kr/post/20/ http://ai-hub.kr/post/20/ ai-hub.kr 결론은, DJango에서 지워도 mysql에 Django models.py에서 만들어졌던 migrations 파일이 남아있기..

Django/django error 2021.05.19

Django에 MySQL 연동하기 (DB 연동)

1. 커넥터 설치 pip install mysqlclient 2. settings.py 설정 django project의 manage.py가 있는 디렉토리에서, touch my_settings.py 혹은vi my_settings.py로 새로운 파일을 생성한다. touch my_settings.py 이렇게 하는 이유는, github에 올릴때나 다른 외부로부터 개인정보, DB를 보호하기 위함이다. #1 :사용할 엔진 설정 #2 : 연동할 MySQL의 데이터베이스 이름 #3 : DB 접속 계정명 #4 : 해당 DB 접속 계정 비밀번호 #5 : 실제 DB 주소 #6 : 포트번호 #my_settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my..

Django/응용 2021.05.19

Python 이용하여 Mysql에서 Json 데이터 Insert하기 (json 데이터 삽입)

geoJSon 데이터를 Python을 이용하여 Mysql에 삽입해보자 일반적인 python mysql 핸들링 순서는 다음과 같다. 패키지설치 PyMySql 모듈 import pymysql.connect() 메소드를 사용하여 MySQL에 연결. 호스트명, 포트, 로그인, 암호, 접속할 DB 등을 파라미터로 지정 MySQL 접속이 성공하면, 위에서 만든 Connection 객체로부터 cursor() 메서드를 호출하여 Cursor 객체를 가져옴 - Cursor: SQL 구문을 실행하기 위해서 만드는 객체 (Executes a SQL statement.) SQL 쿼리의 경우 Cursor 객체의 fetchall(), fetchone(), fetchmany() 등의 메서드를 사용하여 서버로부터 가져온 데이터를 코드..

DataBase/Mysql 2021.05.18

[QGIS] LineString 을 Point 로 변환하기 (Convert a Line to Point)

도로명 주소 데이터를 받아왔지만, Line형식으로 되어있어 이것을 라인을 따라가는 포인터로 변환하고자 한다. 1. MMQGIS 검색결과 MMQGIS 플러그인을 이용하여 변환할 수 있을 것 같다. 설치해보자 플러그인 설치에서 mmqgis를 설치해보자 그러면 도구창에 새롭게 mmqgis가 생기고 Nodes 가 Point 형식인지는 모르겠지만,, 일단 해보았다. 결과 Line이 Point 객체로 변환이 되긴 했는데 뭔가 띄엄뜨엄한 곳이 존재한다. Naver 지도 레이어를활성화 해서 보면 2. Locate Points along lines 플러그인 이용하기 새로운 방법을 해보고 더 괜찮은 데이터를 사용해보기로 했다. 플러그인 - Locate points along lines이라는 괜찮은 이름을 찾았다 설치를완료..

QGIS(지리정보) 2021.05.16
반응형