본문 바로가기

Django48

20. Django authenticate 수정 알다시피 .authenticate는 무조건 username이 필요로하다. 하지만 하단의 문서를 보면 authenticate(request, username=None, password=None, **kwargs)¶ Tries to authenticate username with password by calling User.check_password. If no username is provided, it tries to fetch a username from kwargs using the key CustomUser.USERNAME_FIELD. Returns an authenticated user or None. request is an HttpRequest and may be None if it wasn’.. 2022. 6. 9.
19. Django admin 편집 admin 페이지 (class) Objects 말고 내용으로 보이게 하는 법 #models.py class Nutrition(models.Model): class Meta: db_table = 'nutrition' kcal = models.IntegerField(validators=[MinValueValidator(0)]) sodium = models.IntegerField(validators=[MinValueValidator(0)]) saturated_fat = models.IntegerField(validators=[MinValueValidator(0)]) sugar = models.IntegerField(validators=[MinValueValidator(0)]) protein = models.I.. 2022. 6. 6.
18. Django MySQL 연동(연결) 1. mysqlclient 설치 pip install mysqlclient 2. 커스텀 세팅 파일 생성 MySQL에 접속하기 위해서는 개인 비밀번호 등과 같은 개인정보가 필요로 한다. github에 해당 내용을 올리면 안되므로 MySQL등 커스텀 세팅 내용이 적힌 파일을 만들것이다. #필자는 custom_settings.py로 지었다 touch (개인 세팅 파일 이름).py custom_settings.py에는 하단과 같이 작성한다. DATABASES = { 'default' : { #사용할 엔진 설정 'ENGINE': 'django.db.backends.mysql', #연동할 MySQL의 데이터베이스 이름 'NAME': '데이터베이스 이름', #DB 접속 계정명 'USER': '계정명/보통은 root'.. 2022. 6. 6.
17. Django 가비아에서 도메인 구입 1. 사이트 회원가입/로그인 https://www.gabia.com/ 웹을 넘어 클라우드로. 가비아 그룹웨어부터 멀티클라우드까지 하나의 클라우드 허브 www.gabia.com 2. 사이트 중앙에 도메인 검색하기 파란 동그라미 부분에 원하는 도메인 주소를 친다 그럼 위와 같이 뜨는데 제일 싼거 선택한다.(이벤트 도메인에 500원 언저리로 나온다) 3. 나의 가비아 페이지 이동 구입 후 5분 정도 지나면 생성이 되었다는 연락이 온다. 가운데에 보이는 'DNS 관리툴'로 이동해 준다. DNS 설정 할 도메인을 누르고 DNS 설정 버튼을 눌러준다. 값 입력 / 확인 클릭 / 저장 버튼 클릭 4. 10분 정도 기다린 후에 도메인 주소로 접근하면 끝 2022. 5. 30.
16. Django aws 연결 1. 사이트 가입 https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fconsole.aws.amazon.com%2Fconsole%2Fhome%3FhashArgs%3D%2523%26isauthcode%3Dtrue%26state%3DhashArgsFromTB_us-west-2_0b6f4e96fa66f938&client_id=arn%3Aaws%3Asignin%3A%3A%3Aconsole%2Fcanvas&forceMobileApp=0&code_challenge=bZnJtq9gm6KXr9YP0feosi_EexFNAsy9FCa7DnVe4I0&code_challenge_method=SHA-256 Amazon Web Services Sign-In 대체 인증.. 2022. 5. 30.
15. Django 프로젝트 Github에 올리기 1. 준비 단계 db.sqlite3 지우기 각 폴더의 migrations 폴더에 __init__.py만 남기고 지우기 db.sqlite3를 지운 상태에서 배포를 하여도 migrations 파일안에 정보가 남아있으면 초기화가 안된다. 해당 내용은 전에도 다룬 적이 있으므로 넘어가겠다. project/settings.py 수정 A value of '*' will match anything; in this case you are responsible to provide your own validation of the Host header (perhaps in a middleware; if so this middleware must be listed first in MIDDLEWARE) '*은 모든 항목에 일치.. 2022. 5. 30.
14. Django 모듈을 활용한 태그 달기 pip install django-taggit pip install django-taggit-templatetags2 Pycharm의 경우 interpreter로 깔아도 된다. 중요! Django한테 다운받았음을 알려줘야한다. Project/settings.py INSTALLED_APPS = [ '''''' 'taggit.apps.TaggitAppConfig', 'taggit_templatetags2', ] TAGGIT_CASE_INSENSITIVE = True TAGGIT_LIMIT = 50 다음은 적용단계. tweet/models.py에 추가를 해준다. from taggit.managers import TaggableManager # Create your models here. class Tweet(.. 2022. 5. 30.
13. 서비스 수정 1. 로그인/회원가입 - 로그인을 했을시 왜 로그인이 잘 안되는지 알려주기 1) 회원가입 #user/views.py def sign_up_view(request): '''''' elif request.method == 'POST': #None->''로 변경 username = request.POST.get('username', '') password = request.POST.get('password', '') password2 = request.POST.get('password2', '') bio = request.POST.get('bio', '') if password != password2: #패스워드가 같지 않다고 알람 return render(request, 'user/signup.html', .. 2022. 5. 30.
12. Many-To-Many 모델 생성(related_name) from django.db import models from django.contrib.auth.models import AbstractUser from django.conf import settings #projects/settings class UserModel(AbstractUser): class Meta: db_table = "my_user" bio = models.CharField(max_length=256, default='') follow = models.ManyToManyField(settings.AUTH_USER_MODEL,related_name='followee') 다시 makemigrations, migrate를 해주고 원할한 비교를 위해 6명의 회원을 추가로 가입해준다. 이후, ad.. 2022. 5. 30.