블로그 기능을 사용할 수 있게 끔 한다.
python manage.py startapp blog
하위 폴더에 blog 라는 폴더가 생성이 되는데
git 에 업로드를 진행한다.
git add
git commit -m "blog app started"
git push
blog 폴더가 생성이 된다
사용하지 않는 파일을 'gitignore' 에 명시해준다
class 만들기
from django.db import models
from django.contrib.auth.models import User
class Post(models.Model):
# 블로그에서 제목을 의미 (최대30글자)
title = models.TextField(max_length=30)
# 글에 들어갈 내용
content = models.TextField()
# 언제 작성이 되었는지 (날짜형)
created = models.DateTimeField()
# 어떤 사용자가 작성을 했는지
author = models.ForeignKey(User)
server 켜기
python manage.py runserver
django의 장점인 'admin' 페이지
http://127.0.0.1:8000/admin/
최상위 계층 유저 생성하기
C:\github\django_my_Web (main -> origin)
(venv) λ python manage.py createsuperuser soobinjung
usage: manage.py createsuperuser [-h] [--username USERNAME] [--noinput] [--database DATABASE] [--email EMAIL]
[--version] [-v {0,1,2,3}] [--settings SETTINGS] [--pythonpath PYTHONPATH]
[--traceback] [--no-color] [--force-color] [--skip-checks]
manage.py createsuperuser: error: unrecognized arguments: soobinjung
C:\github\django_my_Web (main -> origin)
(venv) λ python manage.py createsuperuser
Username: soobinjung
Email address: soobin@test.com
Password:
Password (again):
This password is too short. It must contain at least 8 characters.
This password is too common.
This password is entirely numeric.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
server 관리자 페이지에 들어가서 로그인을 진행하고 Users 를 클릭하면
python manage.py runserver
사용자 id들이 출력된다
사용자들에 대한 정보와 언제 사용 헀는지 등에 대한 정보들이 나와있다.
비밀번호가 생각이 안난다면 이 페이지에서 변경도 가능하다.
이 방법은 뭘 하는 명령어인지는 아직 모름
python manage.py makemigrations blog
my_site_pjt 하위 폴더에 존재하는 settings.py 파일에 INSRALLED_APPS 안에 'blog' 를 추가시켜 주어야 한다.
설정을 해주고 나니 잘 찾아가는 걸 볼 수가 있다.
유저가 탈퇴 했을 때 기존 데이터도 다 날려버리는 법
from django.db import models
from django.contrib.auth.models import User
class Post(models.Model):
title = models.TextField(max_length=30)
content = models.TextField()
created = models.DateTimeField()
author = models.ForeignKey(User, on_delete=True)
아까와 다르게 author 에 on_delete = True 가 추가 되었다.
근데 요기서 에러💡
위에처럼 변경 후에 아래처럼 입력하면
python manage.py makemigration blog
- 강의
- 내꺼
응 어쩌라는 걸까 ??? 찾아보니까 버전 탓이라는거 같기도 하고 에러에서 말하는 manage.py는 건들지 않은 문서인데
구글링은 버전 탓이라는 의견도 있고
www.inflearn.com/questions/27946
나랑 같은 에러를 찾았다. 역시 나만 그런게 아닌란게 위로가 된다.
author = models.ForeignKey(User, on_delete=models.CASCADE)
위에처럼 바꾸고 실행하니 아래처럼 에러가 떨어진다
C:\github\django_my_Web (main -> origin)
(venv) λ python manage.py makemigration blog
Unknown command: 'makemigration'. Did you mean makemigrations?
Type 'manage.py help' for usage.
manage.py help를 치니까 이렇게 되는데
응~ 내 버전을 확인해보자.
응~ 3.14 너무 최신이니, 그러니?
www.inflearn.com/questions/109873
친절한 답변 감사합니다 :)
바보 인증,, 스펠링을 틀리다니 휴ㅜ
정친 차리고 다시 시작하자 ㅜㅜ
드디어 같은 글귀 하나가 나왔다.. ♥
이 파일이 생성이 된다
장고로 인해서 파일을 수정하기 때문에 직접적으로 이 파일을 건들일 일이 없다.
admin.py 파일을 수정해 준다.
from django.contrib import admin
from .models import Post
admin.site.register(Post)
변경 사항을 반영을 해주고
python manage.py migrate
서버를 실행 시켜준다.
python manage.py runserver
전에는 존재하지 않았던 Posts 가 생성
ADD POST 클릭
각종 정보를 입력하고 SAVE
등록된 POST 확인
게시물 하나 더 작성
commit 작업
git add .
git commit -m "blog app -Post"
git push
git 에서 변경사항을 확인해보니 내가 직접적으로 건들인 소스코드는 없지만 Cmder에서 건들였던 작업들만으로도 많은 수정이 일어나고 있었다는 사실들에 대해 경이로웠다. 이것들 또한 프레임워크의 특성이려나
'TEAM STUDY > PYTHON' 카테고리의 다른 글
1부터 n 까지 정수의 합 구하기 (0) | 2020.12.30 |
---|---|
세 정수의 최대값 구하기 (0) | 2020.12.30 |
파이썬 웹 개발 입문 lv.1 (0) | 2020.12.22 |
크롤링 시작하기 (0) | 2020.12.21 |
파이썬 기초 2 (0) | 2020.12.21 |