전체 글 217

게시글 기능 만들기

이제 이 안에 게시글 기능을 만들 것이다. 게시글 하니 초창기에 만든 POST, GET 기능이 생각난다. 바로 그거를 사용해보려고 한다. 게시글 POST 게시글 내용을 서버로 가져오려고 한다. 이번에는 클라이언트부터 먼저 손을 댈 건데, 이유는 서버 작업에 필요한 정보가 클라이언트에 있기 때문이다. form의 ID값을 나중에 써먹을 것이다. 게시글에 대한 보안 처리를 역시 실행해주었다. {% csrf_token %} 작성하기 그 다음 마찬가지로 urls 부분을 채워주어야 한다. from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), path('tweet/', views.tweet, ..

Framework/Django 2023.04.04

로그인 이후 기능 다듬기 작업

로그인에는 성공했다. 그건 좋은데... 로그인을 하면 이 넓은 창에 사용자 닉네임 하나만 덩그러니 있다. 이럴거면 왜 로그인했나 싶겠지. 그래서 여기에 기능을 추가해보기로 했다. html 파일 적용 우선 코드스니펫에 있는 html파일을 templates 폴더에 넣었다. 이제 이것을 적용해야겠지. 이번에 만들 앱은 /tweets/다. 그렇기 때문에 tweet에 views.py와 urls.py를 만들고 # tweet/urls.py from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), # 127.0.0.1:8000 과 user/views.py 폴더의 home 함수 연결 path('twe..

Framework/Django 2023.04.04

장고 모델과 사용자 모델 비교, 사용자 모델 업그레이드하기

왼쪽이 장고 기본 제공 테이블, 오른쪽은 사용자가 만든 테이블이다. 그만큼 장고 테이블 내용이 많기 때문에 사실 내 테이블이 필요한가? 싶겠지만 내 테이블에는 'bio'가 있다. 결국 장고에 없는 것도 존재하다는 건데, 그렇다면 이것을 어떻게 합쳐서 업그레이드할까? 사용자 모델 업그레이드하기 모델 업그레이드 목적으로 user/model.py에 들어갔다. 다음과 같이 class의 상속 내용을 먼저 이해하고 수정해보자. #user/models.py from django.db import models # Create your models here. class UserModel(models.Model): # UserModel 클래스를 적용하면 models.Model의 기능을 사용할 수 있다. class Meta..

Framework/Django 2023.04.04

사용자 관리 : 회원가입과 로그인 실습

앞서 파이썬 파일에만 거의 손대었다면, 이번에는 Templates 안에 HTML 파일도 만들어 볼 예정이다. 개인적으로는 파이썬보다 HTML 등에 약해서 어떻게 할지 고민이었지만 일단 고민보단 go라고, 가보자. 다행히 이번에는 html 파일을 코드스니펫에 제공해주셨다. 휴 그래서 파일을 새로 다 생성했더니 이런 형식으로 되었다. 왜 user 폴더를 안에 새로 생성했을까? 생각했는데 일단 추측상으로는 base가 signin과 signup의 부모 class와 같은 역할인가?라는 생각도 들었다. 여기서 나오는 %들은 무엇인가 해서 보았더니, {% extends 'base.html' %} {#base.html이라는 파일 위에 추가하겠다#} {% block title %} {# 파이썬으로 전달하는 문구 (%) ..

Framework/Django 2023.04.04

장고 ADMIN, 웹 발행 과정

ADMIN : 데이터를 넣고, 지우고, 수정할 수 있는 기능이 있음 주소에 /admin을 입력하고 엔터하면 아래 사진이 나온다. 이제 뭔지 알겠으니 다음 작업을 한다. python manage.py createsuperuser 터미널에 다음 작업을 하면 새 계정을 생성할 수 있다. 유저 네임, 이메일, 비번을 등록할 수 있고 그럼 등록이 완료된다. 그래서 그거대로 내 로컬호스트에서 로그인을 하면 요렇게 나온다..! 여기까지 과정을 알아보았다. 데이터에 입력한 부분을 실현하는 것 이제 전 시간에 우리가 데이터베이스에 옮긴 model.py의 클래스부분을 이 화면에 도입할 것이다. 그러려면 admin.py에서 작업해야 한다. from django.contrib import admin from .models i..

Framework/Django 2023.04.03

장고 프로젝트 구조와 데이터베이스 업데이트

url과 view 부분을 우리는 주로 손댈 예정 저번에 공부했던 것을 한 번 더 복습 View : 실질적으로 프로그램이 동작하는 부분, url을 요청하고 그 사이에 일어나는 '서비스'들이 존재하는 곳 이번에는 SNS를 만들어보기로 했다. SNS의 메인 부분을 크게 3가지로 나누어 보았다. 사용자 관리(로그인 ,회원가입, 로그아웃) 글쓰기 친구 만들기 그럼 이제 시작해볼까 그 다음 파일을 위해 user와 tweet 이름의 어플을 만들기 위해 다음과 같은 명령어를 실행해서 폴더에 새로운 것을 만들었다. 이걸 'app'이라고 한다. app이라는 새로운 환경을 만들었으면, 다음 과정으로 setting.py로 들어가서 환경설정을 업데이트 해줘야 한다. 밑에 이런 식으로 적어줘야 한다. 마지막에 콤마는 꼭 찍어야 ..

Framework/Django 2023.04.03

장고 입문

장고란? 파이썬 웹 프레임워크 중 하나로, 파이썬 사용자들이 보다 간편하게 파이썬을 이용할 수 있도록 도와주는 프레임워크 어떻게 도움이 되는가? - 데이터베이스, 로그인 및 암호화 등의 보안 장치가 마련되어 있다. - 커뮤니티와 문서화가 잘 되어있다. - 기타 많은 기능이 잘 구현되어 있다. 결국 우리가 장고를 배워두면 파이썬 작업을 보다 능률적으로 수행할 수 있다는 것으로 이어진다. 장고의 구성은? 장고 프레임워크를 구성할 경우, 다음과 같은 기본 형태로 구성된다. User와 DB, Template밖에 모르고 있었는데 갑자기 새로운 것이 많이 쏟아졌기 때문에 이해할 필요가 있었다. - Model(ORM) : 데이터베이스의 모델, 저장 사용되는 데이터의 형태 * ORM : Python으로 데이터베이스 클..

Framework/Django 2023.04.03

4월 첫째 주 WIL

이번 주는 바쁘고.. 생각보다 고난이 많았던 주였다. 매일 체력 방전이 나서 밥 시간에 계속 자고 집중력이 유지될 날이 잘 없었지만 그래도 수행한 것들을 모아보았다. 코딩 테스트 본격적으로 알고리즘에 대해 공부하고, 실전같은 연습문제들을 풀어보면서 파이썬 문법에 대해 조금씩 적응하고 익숙해져 가는 시간을 가졌다. 코딩테스트 연습 - 최빈값 구하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코딩테스트 연습 - 배열 두 배 만들기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스..

Weekend I learned 2023.04.02

LV.0 숫자 찾기(enumerate, find 함수를 통한 해결)

코딩테스트 연습 - 숫자 찾기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요즘 프로젝트 시간을 제외하고는 알고리즘에 빠진 것 같다. 문제가 참 어렵지만 그래도 맞출 때 희열이 꽤나 좋다. 이번 문제는 좀 헤맸다. 처음에 접근을 ANSWER부터 추리하도록 해봤는데, K가 n번째 숫자와 겹칠 때, 그 숫자는 10**(n+1)이기 때문에 로그를 이용해서 풀 수 있지 않을까라고 생각했다. 그런데 그러면 num을 어떻게 풀어야 할지가 생각나지 않았다. 무작정 num = a*10 + b*10**2 + c*..

cording test 2023.03.31

LV.0 배열의 유사도

S1에 있는 요소가 S2에도 존재하는가? 생각한 방법은 두 가지다. 1. S1에서 요소를 빼와서 S2에 대입 2. S1요소와 S2요소의 교집합 1. S1에서 요소를 빼와서 S2에 대입 - for 문으로 끝까지 돌려서 나오는 것들의 개수만 더하면 됨. def solution(s1, s2): answer = 0 for a in s1: if a in s2: answer += 1 return answer 2. S1 요소와 S2요소의 교집합 - set 함수를 이용하면 됨. - 교집합으로 남은 문자들의 길이를 return 값으로 잡으면 매우 간단한 코드 완성 def solution(s1, s2): return len(set(s1)&set(s2))

cording test 2023.03.30