Django/Django study 10

[Django]웹소켓을 이용한 채팅기능

사용자간의 채팅기능을 구현하고싶어 알아본 결과 크게 2가지를 이용하여 채팅을 구현하는데 첫째로 AJAX를 이용한 것이였고 두번째로는 WebSocket(웹소켓)을 이용한 구현이 많았는데 필자는 WebSocket을 이용하여 채팅을 구현해보려 했다 하지만 참고한 블로그가 내가 처음기획한 채팅기능과 매우 흡사하여 사실상 다른 블로그에서 가져와 내가 필요한 부분만을 바꾼것 뿐이므로 제대로된 동작에 대해 보고 싶다면 해당 링크로 이동하여 보는 것을 추천한다. Django channels 실시간 채팅 기능 (websocket) (tistory.com) Django channels 실시간 채팅 기능 (websocket) 공식문서 + 구글링 + 유튜브를 통해 실시간 채팅 기능 구현(서버 api 동기식) 스파르타 내배캠 ..

Django/Django study 2022.12.23

[Django] 친구추가, 팔로우 목록조회

models.py #친구목록 class Follow(models.Model): """ 유저 친구유저 """ user = models.OneToOneField(User, on_delete=models.CASCADE,related_name="user") to_user = models.ManyToManyField(User,related_name="to_user") migrate python manage.py makemigrations python manage.py migrate admin.py from .models import User,Profile,Follow ..... admin.site.register(Follow) urls.py urlpatterns = [ ..... #팔로우 path('follow_..

Django/Django study 2022.12.07

[Django]회원 프로필 수정

User에 nickname을 넣어놨는데 profile로 옮기는게 관리에 좋겠다고 생각하여 바꿔주었다. models.py #models.py from django.db import models from django.contrib.auth.models import AbstractUser #auth의 유저 상속 class User(AbstractUser): """ 이름 이메일 """ name = models.CharField(max_length=15) email = models.EmailField() class Meta: db_table = "User" def __str__(self): return self.email #models.py #프로필 class Profile(models.Model): """ 유저..

Django/Django study 2022.11.27

[Django] 회원 프로필 만들기

기존에 만들었던 게시판에 프로필화면을 만들어 조회와 수정을 할 수 있도록 하려고 한다. Install pip install pillow models.py #models.py #프로필 class Profile(models.Model): """ 유저아이디 프로필이미지 프로필소개글 """ user = models.OneToOneField(User,on_delete=models.CASCADE)#유저와 1:1 join profile_img = models.ImageField(blank=True,upload_to="images/") profile_content = models.TextField(blank=True) DB적용 python manage.py makemigrations python manage.py mi..

Django/Django study 2022.11.26

[Django] User Custom

User에 닉네임,이메일,이름 속성을 추가시켜줄것이다 #models.py from django.db import models from django.contrib.auth.models import AbstractUser #auth의 유저 상속 class User(AbstractUser): """ 닉네임 이름 이메일 """ nickname = models.CharField(max_length=15,unique=True,null=True) name = models.CharField(max_length=15) email = models.EmailField() USERNAME_FIELD: 'nickname' class Meta: db_table = "User" def __str__(self): return sel..

Django/Django study 2022.11.24

Django-allauth 소셜로그인

요즘보이는 웬만한 사이트들은 전부 소셜로그인이나 회원가입을 지원하고있다. 이는 매번 새로운 사이트에 들어가서 회원가입을 하게될경우 상당한 귀찮음을 유발하는데 소셜로그인을 지원하는 구글,카카오,네이버 같은 회사들 중 한군데 정도는 아이디가 있으므로 정보를 가져와 간편하고 빠르게 로그인을 할 수 있다. 실제로 나같은 경우에도 새로운 사이트에 회원가입을 할 경우 옛날처럼 처음부터 회원가입을 하는 것이 아닌 소셜로그인을 이용하는 것이 대부분이다. Django에서 소셜로그인을 하기 위한 라이브러리는 가장 간편하다는 allauth를 이용할 것이다. 시작하기에 앞서 장고프로젝트가 생성이 되어있다는 것을 전제로 진행 할 것이다. 1. 설치 pip install django-allauth 먼저 allauth라이브러리를 ..

Django/Django study 2022.11.15

[Django] 앱 생성 후 view,template 연결

앱 생성 python manage.py startapp BordApp 앱 이름 templates 설정 프로젝트 폴더에 template 폴더 생성후 Setting.py TEMPLATES에 'DIRS': [BASE_DIR/'templates'], 코드를 추가한다. urls.py url을 읽어 어느 뷰로 가야될지 정해주는 역할을 해주는데 현재는 url에 "BoardApp/" 가 있으면 include메소드로 인해 BoardApp폴더의 urls.py에서 넘겨 판단하게 되며 BoardApp.urls.py에서도 마찬가지로 url을 읽어 view.py의 해당 메소드로 넘겨주는 역할을 한다. views.py 넘어온 abc메소드가 실행되어 return의 abc.html을 화면에 클라이언트에게 보여준다.

Django/Django study 2022.10.28

장고(Django)설치 및 프로젝트 생성하기

장고 설치 py -m pip install Django 설치 확인 python -m django --version 프로젝트 생성 django-admin startproject Chat_translation 프로젝트명 프로젝트 실행 python Chat_translation\manage.py runserver 프로젝트를 실행시키면 이와 같은 메세지가 출력되는데 가장 마지막줄에서 보이는 "http://127.0.0.1:8000/"를 웹브라우저 주소창에 입력하면 다음과 같은 화면이 보인다면 정상적으로 실행 되는 것이다. 프로젝트 종료 "Ctrl + c"를 누르면 프로젝트가 종료된다

Django/Django study 2022.10.27

파이썬3 가상환경 생성 및 실행(venv)

파이썬 가상환경 파이썬을 진행할 때 독립된 환경을 만들어주는 도구이다 이를 이용하면 서로다른 가령 파이썬 또는 파이썬 라이브러리 버전이 필요할 경우 하나의 데스크톱에 서로 다른버전을 설치해야 된다는 문제가 있지만 서로 독립된 가상환경을 통해 서로 충돌 없이 사용할수 있다고 한다. 코드의 []안의 내용은 편의에 따라 변경하시기 바랍니다. 파이썬3에서는 가상환경라이브러리인 venv가 자동으로 설치되어있어 바로 사용할 수 있다고한다. 가상환경 생성하는법 cd D:\backup\study\DjagnoProject 가상환경 폴더 위치 python -m venv [venv] 가상환경 이름 명령프롬프트를 실행 시킨다음 가상환경을 만들고 싶은 폴더로 이동한 다음 python -m venv [프로젝트 명]을 입력하면 가..

Django/Django study 2022.10.27