0. 깃 클론
git clone <url> .
빈 폴더여야만 . 이 가능하다
1. 가상환경 만들기
(클론을 안한다면)반드시 빈 폴더 열고 바로 가상환경부터 만들기
어쨌든 인터프리터 설정하기 전에만 가상환경 생성하면 됨.
python -m venv venv # 가상환경 생성
source venv/Scripts/activate # 가상환경 활성화
2. 인터프리터 설정
인터프리터를 '기존경로' (==내가 방금 만든 가상환경) 로 설정
3-1. 터미널 - 필요한 패키지 설치
pip install django==4.2
pip install djangorestframework
pip install djangorestframework-simplejwt
pip install django-seed
pip install black # 이건그냥 코드정렬 이쁘게 해주는거
얘는 설정에서 black 검색 후 '저장 시' 적용 체크박스를 활성화 해줘야된다.
3-2. settings.py - 앱 등록
INSTALLED_APPS = [
# third-party
"django_seed",
"rest_framework",
"rest_framework_simplejwt.token_blacklist",
]
+ 난 한국어가 좋으니까
LANGUAGE_CODE = "ko-kr"
3-3. 패키지를 설치하고 나면 반드시 fix를 해준다
pip freeze > requirements.txt
4-1. 터미널 - 프젝시작
django-admin startproject <project_name> .
python manage.py startapp <app_name>
4-2. settings.py - 앱 등록
INSTALLED_APPS = [
# local
"appname",
]
5. url 경로지정
5-1. pjt/urls.py
from django.urls import include
urlpatterns = [
path("api/appname/", include("appname.urls")),
]
5-2. app/urls.py
urlpatterns = []
6. 회원가입
6-1. accounts/models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
GENDER_CHOICES = [
("M", "남자"),
("F", "여자"),
("O", "다른거"),
]
email = models.EmailField(unique=True)
name = models.CharField(max_length=10)
nickname = models.CharField(max_length=10)
birthday = models.DateField()
gender = models.CharField(max_length=1, choices=GENDER_CHOICES, blank=True)
bio = models.TextField(blank=True)
def __str__(self):
return self.username
settings.py
# Custom User Model
AUTH_USER_MODEL = "accounts.CustomUser"
반드시 세팅에 커스텀 유저를 추가해준 후에 마이그레이션을 해야함
python manage.py makemigrations
python manage.py migrate
6-2. accounts/urls.py
from django.urls import path
from .views import SignupView
urlpatterns = [
path("signup/", SignupView.as_view(), name="signup"),
]
6-3. accounts/views.py
from rest_framework import generics
from .serializers import SignupSerializer
class SignupView(generics.CreateAPIView):
serializer_class = SignupSerializer
6-4. accounts/serializers.py
from rest_framework import serializers
from .models import CustomUser
class SignupSerializer(serializers.ModelSerializer):
class Meta:
model = CustomUser
fields = ["username", "name", "password", "nickname", "bio", "email"]
def create(self, validated_data):
user = super().create(validated_data)
user.set_password(validated_data["password"]) # 비밀번호 해시화
user.save()
return user
7. 깃에 푸시
git add .
이때 warning 이 발생할 수 있는데, 그럴때는
git status
이거 한번 해줌
git commit
feature: 간단한 설명
- 자세한 설명들
그 후에 :wq 로 나가준다.
git push origin <branch_name>
원격 저장소에 푸시해주면 pull request 가 생겨있음.
'ㅇㅅㅇ' 카테고리의 다른 글
[git] 폴더 배열 수정하고 싶어 (0) | 2024.09.12 |
---|---|
09.03. 라디오 (0) | 2024.09.03 |
08.30. 라디오 (1) | 2024.08.30 |
장고디버그툴바 (0) | 2024.08.29 |
파이참 - Ctrl + 휠로 글자 크기 컨트롤 (0) | 2024.07.15 |