django orm 성능 튜닝

그 전에 작동원리를 정확히 확인을 못했었는데 오늘 새롭게 알게된 것이 있어서 공유합니다. 먼저 두개의 모델을 만들어주겠습니다. Book이라는 모델과 Author라는 모델 class Author(models.Model): name = models.CharField(max_length=150) age = models.IntegerField() class Book(models.Model): name = models.CharField(max_length=150) author = models.ForeignKey(Author, null=True, on_delete=models.DO_NOTHING) Book이라는 모델의 author는 Author모델을 연결시켜놓은 필드입니다. 여기에 테스트를 위해서 테스트 데이터를 입력하도록 하겠습니다. person_a = Author(name='person_a', age=20) … 계속 읽기 django orm 성능 튜닝

Python에서 ‘is’와 ‘==’의 차이

Python 자체가 쉽고 언어가 그렇게 어려운편이 아니어서 그런지 나도 쓸때마다 너무 겉핥기로 알고있다는 생각을 많이 한다. 이미 시작은 해버렸고 이제 모르는건 바로바로 찾아서 깊게 아는게 중요! 오늘은 코드 짜다가 if문에 is를 썼는데 갑자기 is와 ==의 차이점이 궁금하다. 그 전엔 그냥 튜토리얼이 있으면 그대로 썼는데 문득 의문이 생긴다. is와 ==의 차이가 뭘까 분명히 뭔가 차이가 있을텐데... … 계속 읽기 Python에서 ‘is’와 ‘==’의 차이

Python파일에서 Django설정 사용하기

웹 크롤링을 해서 Django에 데이터를 집어넣고 싶었다. 그런데 Python파일에서는 Django를 바로 못쓰네... 하던참에 해결방법 찾음! Django 프로젝트 맨위에 python파일을 하나 만들고 Python파일에 이렇게 하면 Django에서 사용하던 모델을 그대로 사용할 수 있고! 모델 인스턴스 만들어서 save하면 바로 DB에 저장이 가능하다

Windows에서 lexrankr 패키지 설치하기

Windows에서 lexrankr을 두번설치 시도했었는데 두번다 그냥 pip install lexrankr 을 사용하면 오류가 난다. 내가 격었던 오류는 먼저 scipy 설치 오류 scikit-learn 설치 오류 JPype1-py3 설치오류 세가지인데 일단 내 사양은 python 3.6버전이고 windows 10이다. 1, 2번 오류는 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 여기에 접속해서 scipy와 scikit-learn을 자신의 운영체제와 python버전에 맞게 다운로드한 뒤에 다운받은 경로에 들어가서 pip install 파일명 을 해주면 설치가 가능하다! … 계속 읽기 Windows에서 lexrankr 패키지 설치하기

내가 Django를 처음 시작했던 방법

Django를 처음 접한 것은 2015년 12월즈음?! 공부목적으로 프로젝트 하나를 시작하려고 했었고 언어를 정해야 했는데 공부목적이니 트렌디한 언어를 한번 써보자는 의견에 Python을 정하였고 그중에 웹프레임워크인 Django를 선택. 사실 그때는 Flask의 존재를 몰라서... 고민할 것도 없이 Django로 결정하였다. 먼제 본것은 책을 구입해서 봤었는데 사실 책이 그렇게 도움이 되는지 잘 모르겠다. Django에 관한 책이 별로 없는 것도 크고... … 계속 읽기 내가 Django를 처음 시작했던 방법

Django에서 Form에 placeholder설정하기

Django를 사용하다보면 Form, ModelForm을 사용하는 일이 많이 생기는데 이럴 때 Input에 사용자들에게 입력하는 데이터를 설명할 수 있는 placeholder가 필요할 경우가 생긴다. 방법은 Field를 설정할 때 widget, attrs에 placeholder를 설정하는 방법이 있지만 나는 ModelForm을 사용하기 때문에 Field를 건들이고 싶지 않았다. 자동으로 생성해주니까... 그래서 __init__을 재정의해 placeholder를 넣는 방법이 있다. __init__을 재정의하고 일단 처음에 __init__을 실행시켜주고 그 … 계속 읽기 Django에서 Form에 placeholder설정하기

Django에서 Form에 Custom Field 만들기

Django는 아주 편리하게 Form을 구성할 수 있는 기능을 제공하고 있는데요. ModelForm을 이용하면 Model의 Field에 따라서 Form을 자동으로 생성해주고 유효성검사까지 해줍니다. 그런데 HTML상에서는 조금 다르게 입력을 받고싶을 때가 있죠. 저같은 경우는 Model에다가 ManyToManyField를 정의해 두었습니다. 아무 설정도 하지 않고 ModelForm에다가 해당 모델만 적용시켜서 HTML에 출력해보면 사용자가 입력하기 불편하게 input이 나타나게 됩니다. 사용자는 여러개를 선택해야 하는데 Control을 … 계속 읽기 Django에서 Form에 Custom Field 만들기

social-auth-app-django를 사용해서 facebook 로그인 기능 만들기

django에 facebook 로그인을 달기 위해서 엄청나게 삽질을 많이 했는데 쉬운 방법 공유하기 위해서 포스팅합니다. 또 저도 안까먹기 위해서... 먼저 social-auth-app-django를 설치합니다. pip install social-auth-app-Django 종속되는 패키지들이 자동으로 설치가 됩니다. social-auth-core 등등... 이제 setting.py 파일에 설정을 해줍니다. ... INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # social-auth-app-django 'social_django', 'Gamers', ] ... # social-auth-app-django AUTHENTICATION_BACKENDS … 계속 읽기 social-auth-app-django를 사용해서 facebook 로그인 기능 만들기

Django에서 pymysql을 이용해 mysql 연동하기

2020.09.24 현재 글 작성 후 오랜 시간이 지났기 때문에 잊고 있었는데 현재는 pymysql을 사용하는 것 보다 mysqlclient를 쓰는게 성능상 좋다고 합니다. https://pypi.org/project/mysqlclient/ 왜인지 모르겠지만 MySQL에서 공식으로 제공하는 모듈은 python2만 지원하는 것 같습니다. 그래서 제가 옛날부터 사용해왔던 pymysql을 이용해서 Django에 MySQL연동하는 법을 포스팅하겠습니다. Django와 Python은 이미 깔려있다고 가정하고 설명드리겠습니다. 먼저 윈도우든 리눅스든 pymysql을 설치합니다. pip install … 계속 읽기 Django에서 pymysql을 이용해 mysql 연동하기