Skip to content

Commit 8ea4143

Browse files
authored
Merge pull request DjangoGirls#1467 from jeo19/korean-update
fix:Change some example code of django_models.md because of upgrade Python version
2 parents 5ac9d26 + 213040a commit 8ea4143

2 files changed

Lines changed: 40 additions & 21 deletions

File tree

ko/README.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,33 @@
11
# 장고걸스 튜토리얼 (Django Girls Tutorial)
2+
23
[![Gitter](https://badges.gitter.im/DjangoGirls/tutorial.svg)](https://gitter.im/DjangoGirls/tutorial)
34

45
> 이 튜토리얼은 Creative Commons Attribution-ShareAlike 4.0 International 저작권을 준수합니다.
56
> 라이센스 전문은 https://creativecommons.org/licenses/by-sa/4.0 에서 확인하세요.
67
78
## 번역
9+
810
이 튜토리얼은 열정적인 장고걸스 코치들과 자원봉사자들의 수고로 번역되었습니다.
911

1012
> 번역 업데이트 및 번역자
11-
> - 1차 : 2015. 10. 1.
13+
>
14+
> - 1차 : 2015. 10. 1.
15+
1216
[이수진](https://github.com/sujinleeme), 함기훈, [Jay Park](http://jinto.pe.kr/), 조혜선, [정광윤](https://twitter.com/initialkommit), 임정훈, 문지영, 김휘경, 송석리, 여형석, 심혜민
13-
> - 2차 : 2016. 6. 3.
17+
18+
> - 2차 : 2016. 6. 3.
19+
1420
[이수진](https://github.com/sujinleeme)
21+
1522
> - 3차 : 2017. 5. 19.
23+
1624
[이수진](https://github.com/sujinleeme)
1725
> - 4차 : 2019. 2. 5.
1826
[이재열](https://github.com/malkoG), [정수민](https://github.com/soomin-jeong)
1927

28+
> - 4차 : 2018. 1. 23.
29+
30+
[데이비드 정](https://github.com/jeo19)
2031

2132
## 환영합니다
2233

@@ -25,6 +36,7 @@
2536
아직 발견하지 못한 것을 알아가야하는 꽤 도전적인 모험이 될 것이지만, 지금 이 튜토리얼을 보는 여러분들은 용기를 가지고 있기 때문에, 끝까지 잘 해낼 거라 믿어요. :)
2637

2738
## 들어가며
39+
2840
점점 기술이 중요해진 세상에 살고 있지만 나와 관련이 없다고 생각한 적이 있나요? 그동안 웹 사이트를 어떻게 만드는지 궁금했지만 막상 시작하기 어려웠나요? 소프트웨어 세상이 복잡해보여 혼자서 직접 만들기엔 엄두가 나지 않았나요?
2941

3042
그런 여러분들에게 반가운 소식이 있습니다! 프로그래밍은 생각만큼 어려운 것이 아니랍니다. 우리는 여러분들에게 프로그래밍이 얼마나 재미있는 것인지 알려드리고 싶어요.
@@ -34,6 +46,7 @@
3446
우리가 그랬듯이 여러분들도 프로그래밍을 사랑할 수 있게 되길 바랍니다!
3547

3648
## 튜토리얼에서 무엇을 배우게 되나요?
49+
3750
이 튜토리얼을 끝내면 간단한 기능을 갖춘 나만의 블로그 사이트를 완성할 수 있어요. 온라인에 웹사이트를 올리는 방법도 배울 거에요. 다른 사람들도 여러분의 작품을 보게 될 거랍니다!
3851

3952
우리는 앞으로 아래와 같은 웹 사이트를 만들어 볼 거예요.
@@ -44,13 +57,15 @@
4457
4558
자, [이제 그럼 어서 시작해볼까요.](./how_the_internet_works/README.md)
4659

47-
4860
## 집에서 튜토리얼 따라하기
61+
4962
장고걸스 워크샵에서 모든 분들을 만나뵙고 싶지만, 참석하기 어려운 분들이 있다는 것을 잘 알고 있어요. 그래서 워크샵에 참석하지 못하는 분들은 집에서 튜토리얼을 보며 자습하시길을 권장하고 있어요. 혼자서도 집에서 튜토리얼을 보며 학습하실 수 있도록 비디오 동영상을 만들고 있어요. [Coding is for girls 유투브 채널](https://www.youtube.com/channel/UC0hNd2uW8jTR5K3KBzRuG2A)에서 보실 수 있고, 앞으로 더 많은 영상들을 보여드릴 예정입니다.
5063

5164
## 튜토리얼 참여하기
65+
5266
이 튜토리얼은 [DjangoGirls](https://djangogirls.org/)에서 지속적으로 관리하고 있습니다. 오류를 발견하거나 튜토리얼 내용을 업데이트하고 싶다면 [참여 방법](https://github.com/DjangoGirls/tutorial/blob/master/README.md)을 참고하세요.
5367

5468
## 튜토리얼 번역 참여하기
69+
5570
장고걸스 튜토리얼은 crowdin.com에서 전세계 언어로 번역되고 있습니다 [https://crowdin.com/project/django-girls-tutorial](https://crowdin.com/project/django-girls-tutorial)
5671
여러분이 사용하는 언어가 없다면, [github 이슈](https://github.com/DjangoGirls/tutorial/issues/new)에 등록하셔서 저희에게 알려주세요.

ko/django_models/README.md

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,13 @@
2626
--------
2727
2828

29+
기본적으로 객체지향설계 개념은 현실에 존재하는 것을 속성과 행위로 나타내는 것입니다. 여기서 속성은 `객체 속성(properties)`, 행위는 `메서드(methods)`로 구현됩니다.
2930

30-
기본적으로 객체지향설계 개념은 현실에 존재하는 것을 속성과 행위로 나타내는 것입니다. 여기서 속성은 `객체 속성(properties)`, 행위는 `메서드(methods)`로 구현됩니다.
31+
그렇다면 블로그 글을 모델로 만들 수 있을까요? 우리는 블로그를 만들고 싶잖아요, 그렇죠?
3132

32-
그렇다면 블로그 글을 모델로 만들 수 있을까요? 우리는 블로그를 만들고 싶잖아요, 그렇죠?
33+
우리는 다음 질문에 답할 수 있어야 해요: 블로그 글이란 무엇일까? 어떤 속성들을 가져야 할까?
3334

34-
우리는 다음 질문에 답할 수 있어야 해요: 블로그 글이란 무엇일까? 어떤 속성들을 가져야 할까?
35-
36-
블로그는 제목과 내용이 필요하죠? 그리고 누가 썼는지도 알 수 있게 작성자(author)도 추가하면 좋을 것 같아요. 마지막으로, 그 글이 작성된 날짜와 게시된 날짜도 알면 좋겠어요.
35+
블로그는 제목과 내용이 필요하죠? 그리고 누가 썼는지도 알 수 있게 작성자(author)도 추가하면 좋을 것 같아요. 마지막으로, 그 글이 작성된 날짜와 게시된 날짜도 알면 좋겠어요.
3736

3837
Post(게시글)
3938
--------
@@ -43,12 +42,11 @@
4342
created_date(작성일)
4443
published_date(게시일)
4544

45+
블로그 글로 할 수 있는 것은 어떤 것들이 있을까요? 글을 출판하는 `메서드(method)`가 있으면 좋겠죠?
4646

47-
블로그 글로 할 수 있는 것은 어떤 것들이 있을까요? 글을 출판하는 `메서드(method)`가 있으면 좋겠죠?
48-
49-
그래서 우리는 `publish`메서드도 만들어야 합니다.
47+
그래서 우리는 `publish`메서드도 만들어야 합니다.
5048

51-
이제 무엇을 만들어야 하는지 이미 알았으니, 장고에서 모델을 만들어 봅시다!
49+
이제 무엇을 만들어야 하는지 이미 알았으니, 장고에서 모델을 만들어 봅시다!
5250

5351
## 장고 모델
5452

@@ -63,6 +61,7 @@
6361
잘 정돈된 상태에서 시작하기 위해, 프로젝트 내부에 별도의 애플리케이션을 만들어볼 거에요. 처음부터 모든 것이 잘 준비되어있다면 훌륭하죠. 애플리케이션을 만들기 위해 콘솔 창(`djangogirls` 디렉토리에서 `manage.py` 파일)에서 아래 명령어를 실행하세요.
6462

6563
{% filename %}command-line{% endfilename %}
64+
6665
```
6766
(myvenv) ~/djangogirls$ python manage.py startapp blog
6867
```
@@ -90,6 +89,7 @@
9089
애플리케이션을 생성한 후 장고에 사용해야 한다고 알려줘야 합니다. 이 역할을 하는 파일이 `mysite/settings.py`입니다. 이 파일 안에서 `INSTALLED_APPS`를 열어, `)`바로 위에 `'blog'`를 추가하세요. 최종 결과물은 아래와 다음과 같을 거예요. :
9190

9291
{% filename %}mysite/settings.py{% endfilename %}
92+
9393
```python
9494
INSTALLED_APPS = [
9595
'django.contrib.admin',
@@ -109,13 +109,15 @@ INSTALLED_APPS = [
109109
`blog/models.py` 파일을 열어서 안에 모든 내용을 삭제한 후 아래 코드를 추가하세요.
110110

111111
{% filename %}blog/models.py{% endfilename %}
112+
112113
```python
114+
from django.conf import settings
113115
from django.db import models
114116
from django.utils import timezone
115117

116118

117119
class Post(models.Model):
118-
author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
120+
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
119121
title = models.CharField(max_length=200)
120122
text = models.TextField()
121123
created_date = models.DateTimeField(
@@ -138,16 +140,17 @@ class Post(models.Model):
138140
`from` 또는 `import`로 시작하는 부분은 다른 파일에 있는 것을 추가하라는 뜻입니다. 다시 말해, 매번 다른 파일에 있는 것을 복사&붙여넣기로 해야 하는 작업을 `from`이 대신 불러와 주는 거죠.
139141

140142
`class Post(models.Model):`는 모델을 정의하는 코드입니다. (모델은 `객체(object)`라고 했죠?)
141-
* `class`는 특별한 키워드로, 객체를 정의한다는 것을 알려줍니다.
142-
* `Post`는 모델의 이름입니다. (특수문자와 공백 제외한다면) 다른 이름을 붙일 수도 있습니다. 항상 클래스 이름의 첫 글자는 대문자로 써야 합니다.
143-
* `models`은 Post가 장고 모델임을 의미합니다. 이 코드 때문에 장고는 Post가 데이터베이스에 저장되어야 한다고 알게 됩니다.
143+
144+
- `class`는 특별한 키워드로, 객체를 정의한다는 것을 알려줍니다.
145+
- `Post`는 모델의 이름입니다. (특수문자와 공백 제외한다면) 다른 이름을 붙일 수도 있습니다. 항상 클래스 이름의 첫 글자는 대문자로 써야 합니다.
146+
- `models`은 Post가 장고 모델임을 의미합니다. 이 코드 때문에 장고는 Post가 데이터베이스에 저장되어야 한다고 알게 됩니다.
144147

145148
이제 속성을 정의하는 것에 대해서 이야기해 볼게요. `title`, `text`, `created_date`, `published_date`, `author`에 대해서 말할 거에요. 속성을 정의하기 위해, 필드마다 어떤 종류의 데이터 타입을 가지는지를 정해야 해요. 여기서 데이터 타입에는 텍스트, 숫자, 날짜, 사용자 같은 다른 객체 참조 등이 있습니다.
146149

147-
* `models.CharField` - 글자 수가 제한된 텍스트를 정의할 때 사용합니다. 글 제목같이 짧은 문자열 정보를 저장할 때 사용합니다.
148-
* `models.TextField` - 글자 수에 제한이 없는 긴 텍스트를 위한 속성입니다. 블로그 콘텐츠를 담기 좋겠죠?
149-
* `models.DateTimeField` - 날짜와 시간을 의미합니다.
150-
*   `models.ForeignKey` - 다른 모델에 대한 링크를 의미합니다.
150+
- `models.CharField` - 글자 수가 제한된 텍스트를 정의할 때 사용합니다. 글 제목같이 짧은 문자열 정보를 저장할 때 사용합니다.
151+
- `models.TextField` - 글자 수에 제한이 없는 긴 텍스트를 위한 속성입니다. 블로그 콘텐츠를 담기 좋겠죠?
152+
- `models.DateTimeField` - 날짜와 시간을 의미합니다.
153+
- `models.ForeignKey` - 다른 모델에 대한 링크를 의미합니다.
151154

152155
시간 관계상 모든 코드를 하나하나 다 설명하지는 않을 거예요. 대신 모델의 필드와 정의하는 방법에 궁금하다면 장고 공식 문서를 꼭 읽어보길 바랍니다. : https://docs.djangoproject.com/en/2.0/ref/models/fields/#field-types)
153156

@@ -162,6 +165,7 @@ class Post(models.Model):
162165
이 장의 마지막 단계입니다. 이제 데이터베이스에 우리의 새 모델, Post 모델을 추가할 거에요. 먼저 우리는 장고 모델에 (우리가 방금 만든!) 몇 가지 변화가 생겼다는 걸 알게 해줘야 합니다. `python manage.py makemigrations blog` 를 입력해 보세요. 아마도 화면에 이렇게 보이겠죠?
163166

164167
{% filename %}command-line{% endfilename %}
168+
165169
```
166170
(myvenv) ~/djangogirls$ python manage.py makemigrations blog
167171
Migrations for 'blog':
@@ -172,12 +176,12 @@ Migrations for 'blog':
172176
장고는 데이터베이스에 지금 반영할 수 있도록 마이그레이션 파일(migration file)이라는 것을 준비해 두었답니다. 이제 `python manage.py migrate blog` 명령을 실행해, 실제 데이터베이스에 모델 추가를 반영하겠습니다. :
173177

174178
{% filename %}command-line{% endfilename %}
179+
175180
```
176181
(myvenv) ~/djangogirls$ python manage.py migrate blog
177182
Operations to perform:
178183
Apply all migrations: blog
179184
Running migrations:
180-
Rendering model states... DONE
181185
Applying blog.0001_initial... OK
182186
```
183187

0 commit comments

Comments
 (0)