목록Python/Python Study (6)
MyPrograming
1. Docstring docstring은 모듈, 함수, 클래스 또는 메소드 정의의 첫 번째 명령문으로 발생하는 문자열 리터털로 소스 코드에 포함된 문서(documentation)라고 할 수 있다. docstring은 기본적으로 리터럴 문자열이며, 로직의 일부분을 문서화하기 위해 코드 어딘가에 배치된다. 특히 문서라는 단어에 주목해보면 이는 주석과는 확실히 다르다는 것이다. 주석을 다는 습관은 좋지 않은 것이다. 주석을 다는 것은 코드로 아이디어를 제대로 표현하지 못했음을 의미한다. 코드의 변경에 따라 주석도 주기적으로 업데이트 해줘야하지만 대부분의 사용자가 이를 간과하거나 주석을 먼저 확인 한 후에 코드의 동작을 이해하는 것은 오해를 불러일으킨다. 1-1. Docstring 사용법. def my_fun..
1. Static File : Javascript, CSS, Images 등 웹 서비스에서 사용하기 위해서 미리 서버에 저장해놓은 정적인 파일로, 사용자가 아닌 관리자 (서비스 제공자)가 사용하는 파일을 의미한다. 1-1. STATIC_URL : 웹 페이지에서 사용할 정적 파일의 최상위 URL 경로로 각 static 파일에 대한 URL의 고정값을 설정한다. # settings.py ... STATIC_URL = '/static/' ... STATIC_URL은 정적 파일이 실제 위치한 경로를 참조한다. (STATIC_ROOT에 지정된 경로) 반드시 '/'로 끝나야 한다. → templates의 {% static '경로' %}에 대해서 해당 URL이 STATIC + '경로'로 바뀌게 되며 이는 다시 '/st..

Django가 기본적으로 제공해주는 user 모델을 통해 필드에 접근하고 수정 및 관리하는 과정이 매우 편리하다는 것을 알 수 있다. 하지만 이 외에 다른 필드들을 필요로 할때가 있다. 그럴 때에는 user 모델 자체를 재정의하여 필요한 필드들만 추가해서 사용하는 방법이 있다. 1. 프로젝트 시작 전 (migration 실행 전) 1-1. models.py from django.db import models from django.contrib.auth.models import AbstractUser class User(AbstractUser): profile_img_src = models.CharField(max_length=150, blank=True) profile_msg = models.TextFi..

이전에 작성한 RegisterView.py와 LoginView.py에 쓰여진 salt와 hashed_pw..? salt, hashed_pw = hashing_password(user_pw) 이렇게 별도로 작성하고 import하여 쓴 것이다. import string import random import hashlib import base64 from django.contrib.auth.hashers import pbkdf2 def hashing_password(user_pw): count = random.randint(16, 21) string_pool = string.ascii_letters + string.digits + string.punctuation salt = "".join(random.cho..
views.py - DkeaListView def DkeaListView(request, list): try: cursor = connection.cursor() strSql = "SELECT dkea.dkea_category.c_code,dkea.dkea_category.c_name,dkea.dkea_product.img_src,dkea.dkea_product.p_name, dkea.dkea_product.p_id" strSql += " FROM dkea.dkea_product" strSql += " LEFT OUTER JOIN dkea.dkea_category on dkea_category.c_id=dkea_product.c_id WHERE dkea.dkea_category.c_code = (%s)"..
초기의 간단한 프로젝트의 경우는 하나의 파일에 URL들을 정의하는 것이 관리하기 편리하다. 하지만 프로젝트의 규모가 커질 수록 하나의 프로젝트 안에 포함되는 앱의 수가 증가하여 URL 패턴도 많아지기 때문에 2개의 계층으로 분류하는 것이 좋다. 프로젝트 URL : 프로젝트 전체 정의 -> Django 앱의 urls.py 앱 URL : 프로젝트에 생성된 앱마다 urls.py를 새로 만들어서 정의 1. 프로젝트 urls.py 변경 기존 프로젝트 urls.py from django.contrib import admin from django.urls import path, re_path from dkea.views import * urlpatterns = [ re_path(r'^admin/', admin.sit..