2019년 2월 6일 수요일

[english] 영어에서 완료시제는 언제 사용하는 것일까? (두서없이 떠들어봄)

https://www.youtube.com/watch?v=eQJjveGGG68

i did my homework
i've done my homework
--> i did my homework. and now  my homework is done

i lived in Korea for 20 years  - 과거
i've lived in Korea for 20 years    - 현재완료 (과거의 일에 대한 현재에 상태)
i've been lived in Korea for 20 years - 현재 완료 진행형


과거 완료 - 과거의 어떤시점을 이야기 할때  그전에 어떤 일이 이미 일어 난경우에 사용

when i graduated 10 years ago, i have already started working
when i got back home last night, my parents had already gone to bed

I started working in 2005.



















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































[english] 영어회화 | 표현 | 말실수하다 / 말을 잘못하다 / 말조심하다 - Part 1/2

https://www.youtube.com/watch?v=mlUO8MZcD4w


I think she is still angry with me 
mad at me
upset with me

but i don't know what I did wrong
do something wrong -잘못을 하다.

maybe it's something you said 
could it be something you said

그럴수도 있지
yeah it could be 

be careful with your words    말조심 하다.
be careful with what you said

tend to - 하는 편이자나
you tend to be a little careless with your words.

you must have pp   너가 했나보지

say something you shouldn't have 하지 말았어야 했는 일을 말하다.

you must've said something you shouldn't have, again.





[english] 5. 영어회화 | 양보할 때 가장 기본적으로 사용하는 표현 "go ahead" 사용법

https://www.youtube.com/watch?v=kpumR5udzrQ

get ahead  앞서가다.

먼저하세요.
I'm sorry go ahead
nonono you go ahead

No really, it's ok. im not in a hurry or anything


받아들이는 경우
Are you sure? Thank you.

Hey you guys go ahead
I'll catch up with you

2019년 1월 29일 화요일

[english] 6. 이 3가지의 표현으로 영어를 좀 더 자연스럽게 하기 - definitely, obvious(ly), noticeably 조회수 126,497회 2.7천 70

https://www.youtube.com/watch?v=RAx447JnOhQ&index=4&list=PLkZLJ48BTPlAW1O0Qgsr5HtiXV23FMn1O

definitely,
This is definitely better

clearly, certainly

yeah really?

딱봐도 그런데요.   뻔한거아녀? 딱봐도 그런것 같아.
obvious
Yes I think it's pretty obvious
it looks pretty obvious to me.

it's obvious that parent should support theirs children when they are young

noticeable
noticeably

눈에 띄는 / (확실히)차이가 나는/티나게
the material and the overall construction is noticeably better (different)

definitely
obviously = 좀 다르다.


재질이랑 전반적인 만듦새가 확실히 차이가 나요.

뻔한거 아녀 ? 당연한거 아냐
isn't it obvious?




eg.
This laptop is noticeably better. It looks pretty obvious.
I think he gonna be a president. It's obvious to me. I'm sure that.

2019년 1월 27일 일요일

[english] 5. 영어회화 | 표현 | "쟤네 왜저래?" / "별것도 아닌거 가지고 싸우다" / "원래 저랬어" /

https://www.youtube.com/watch?v=9FeaRZLirDQ&list=PLkZLJ48BTPlAW1O0Qgsr5HtiXV23FMn1O&index=3

What's wrong with them

Whenever they're together , they keep fighting over really stupid/small things / nothing.
(meet -  x)

원래 이랬어.
 They've been always like that
He's always been like that.

I have tried to stop them but they pretend like they don't even hear me.

So now I try not to pay attention/ not to think about it / ignore it.


[english] 4. which 관계 대명사 - Part 1 [ 영어회화 ]


which 를 부가적인 comment 처럼 사용 한다.


I got up around 7 oclock this morning, which was a little earlier than usual
I had breakfast, which I don't do very often unless I was very hungry 


 I left home before 8 oclock and I took bus, which is how I usually go to work.
There was a meeting at work in the morning, which lasted more than two hours.
I got off work around 10 pm, which is a pretty normal at my company.


2019년 1월 21일 월요일

[english] 3. should와 have to의 차이 그리고 be supposed to

https://www.youtube.com/watch?v=UUTnXGIHi4c


해야되/ 해야 된다.
have to   단순히 해야 한다. (나 내일 그거 해야 해) [단순의무]
must 해야만 한다.
I have to go to work this Saturday.

should (권장하는것) 하는게 좋겠어
출근을 해야좋겠어 해야 되겠어/ 하는게 좋겠어 (나의 생각) 
I should go to work this Saturday.


부정형으로 쓸때,
don't have to  안해도 된다 /할 필가 없다.
you dont have to come early
you dont have to worry about that 걱정할필요 없어  (you don't need to

shouldn't  ~ 하지 않는게 좋겠다/ 하면 안된다. (개인적인 충고 조언) -
                    하면 안된다.
you shouldn't carry so much cash
you shouldn't take those vitanmen so often 

기준 (전통 상식적인 기준 관습적인 내용) 기준에 의한 책임
You are not supposed to be late first day

I have to be in Myeongdong by 2 oclock



2019년 1월 19일 토요일

[english] 1. 영어회화 | 시제 | 미래시제 | will 과 be going to의 차이

https://www.youtube.com/watch?v=pupJXIgRIfk

I will eat pizza for lunch  -  나 점심에 피자 먹을꺼야 (x)

is going to (계획되어 있는것) .할거다 할 예정이다. 하겠다.
I'm going to wake up early tomorrow  (일찍 일어 날꺼야)
I'm going to hang out with my friends to night
We're going to have a drink.
I'm going to stop by the convenient store on my way there (원래 계획이 되어 있어서, 그냥 할꺼라는의미)

will  (의지) 할꺼다.
I'll do that. You don't need to do that.
I'll lend you 50 dollar
I'll help you
I'll ask her when I see her.
I'll drive you to the airport
I'll stop by the convenient store on my way there/home.

Next week, on monday, I'm going to give a presentation in class, so I'm going to prepare for that this weekend.


내가 만든 예제
I will go to subway to take you
I'm going to subway to take you

Im going to visit my mother's home to see my parents.


2019년 1월 13일 일요일

[django] 파일 업로드 다운로드 기능 구현 - classview를 사용

의미
(Image와 달리) 파일을 업로드 하고 다운로드 하는 기능을 구현하는데 Model에 FileFiled를 추가 하고 form/class view/template를 적절히 수정하여 기본적인 파일 업로드 다운로드 기능을 만든다.

직접 파일을 다운로드 업로드 하는것을 view의 function으로 구현 하는 방법도 소개한다.


중요흐름

1. Model에 file 필드 추가
2. class view를 사용 하면서 자동으로 form에도 file이 표시되도록 한다.
3. create/update/detail이 view에서 만들어진 form을 사용하고
4. templates 에서 파일이 표시게 되게 한다.
5. 주의점

  • urls에서의 serve를 위한 코드
  • form에서의 데이터 처리를 위한 enctype



(작은 용량의 파일은 웹에서 지원하는 위 형태의 upload/download 로 되지만
큰용량의 경우에는 재고민 필요하다)


관련 페이지

  • https://wayhome25.github.io/django/2017/05/10/media-file/
  • https://antilibrary.org/913
  • https://cjh5414.github.io/django-file-upload/
  • https://blog.hannal.com/2015/04/start_with_django_webframework_06/

    function을 통한 upload/download
  • https://simpleisbetterthancomplex.com/tutorial/2016/08/01/how-to-upload-files-with-django.html
  • http://mydevnote.tistory.com/154
  • https://www.codepool.biz/django-upload-file.html
  • https://stackoverflow.com/questions/8600843/serving-large-files-with-high-loads-in-django (highload 일경우)



1. Model에 file 필드 추가
2. class view를 사용 하면서 자동으로 form에도 file이 표시되도록 한다.
3. create/update/detail이 view에서 만들어진 form을 사용하고
4. templates 에서 적당히 표시게 되게 한다.

2019년 1월 9일 수요일

[django] UserModel확장 - AbstractUser을 상속하여 구성

기본정보
from django.contrib.auth.models import AbstractUser
AbstractUser를 (Model) 상속받아, 기존의 User의 기본기능을 다 사용하면서, 필드를 추가 한다.  제일 깔끔하긴 한것 같다. 그런데, 처음 시작할때만 유용하고, 유지보수 프로젝에서는 사용이 힘들수 있으니 one-to-one 맵핑으로 하는것도 익혀 두어야 한다.


중요흐름
1. AbstractUser를 상속받는 Model을 하나 만든다. 이를 위해서 App도 만든다
2. setting.py 파일에 만든 User를 등록 시킨다. Project의 기본 User를 등록 시킨다.
3. 기존에 있던 DB는 model이 바뀌면서 잘되지 않으면 다 지우고 초기화 한다.
4. 기본적으로 있는 view/form/등을 새롭게 만들어진 User를 사용 하도록 변경한다.



관련페이지

  • https://simpleisbetterthancomplex.com/tutorial/2016/07/22/how-to-extend-django-user-model.html
  • https://medium.com/@whj2013123218/%EC%9E%A5%EA%B3%A0-django-%EC%9C%A0%EC%A0%80-%EB%AA%A8%EB%8D%B8-user-model-abstractuser%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%B4-%EB%B3%80%EA%B2%BD%ED%95%98%EA%B8%B0-c3cabb4815ce (db의 초기화)
  • https://wikidocs.net/9926 (db의 초기화)
  • https://tutorial.djangogirls.org/ko/django_forms/



1. AbstractUser를 상속받는 Model을 하나 만든다. 이를 위해서 App도 만든다

startapp custom 을 만들고, 생긴 models.py에  아래 추가 하여 만든다.

from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
    parent_info = models.TextField(max_length=500, blank=True)
    address = models.CharField(max_length=30, blank=True)
    first_date = models.DateField(null=True, blank=True)
cs


2. setting.py 파일에 만든 User를 등록 시킨다. Project의 기본 User를 등록 시킨다.

AUTH_USER_MODEL = 'custom.User'

INSTALLED_APPS = [
'custom',

3. 기존에 있던 DB는 model이 바뀌면서 잘되지 않으면 다 지우고 초기화 한다.

관련페이지들을 참고
이때 allauth에 관련덴 소셜앱 정보와 root 기존의 아이디들이 다 사라짐으로
처음에 복구 해야 줘야 한다.


4. 기본적으로 있는 view/form/등을 새롭게 만들어진 User를 사용 하도록 변경한다.

//url.py
url(r'^accounts/signup/$', NewSignupView1.as_view(), name='signup'),
//views.py
from allauth.account.views import SignupView
from custom.forms import NewSignupForm
class NewSignupView1(SignupView):
    form_class = NewSignupForm
//forms.py
from allauth.account.forms import SignupForm
from django import forms
class NewSignupForm(SignupForm):
    parent_info = forms.CharField(max_length=500)
    address = forms.CharField(max_length=30)
    first_date = forms.DateField()
cs

2019년 1월 6일 일요일

[auction][물건분석] 2017 타경 8965 (임의) - 선순위가등기/법정지상권

2017 타경 8965 (임의)

토지소유자 갑

A가 지상권
A가 근저당권 (위의 지상권 설정후 근저당 설정)
B가 A의 근저당권이전 해감.

현재 최저가 5억4천.
A가 B에게 근저당 넘겼고, A는 지상권 말소에
갑은 지상권등 하자에 대한이의 신청 (지상권이 성립하지 않는다고 주장)

소멸되지 않는 등기부권리을구 순위 6번 지상권 설정등기(2016. 8. 2. 접수번호 제82126호). 이에 대해 지상권자인 대전와이.엠.시.에이.신용협동조합의 2017. 9. 13.자 말소동의서가 제출되어 있음.
설정된 것으로 보는 지상권해당사항 없음
주의사항 / 법원문건접수 요약1. 이 사건 감정평가 당시 나지였으나, 소유자 박성원이 이 사건 토지 위에 지상권자인 대전 YMCA신용협동조합의 지상권행사 승인 및 금천구청의 건축허가를 얻어 5층 건물 다세대주택을 신축하여 완공 전이라고 진술(소유자의 2018. 8. 16.자 경매물건의 지상권등 하자에 대한 이의신청서 참조)
2018-10-10 가압류권자 배당요구 종기일 연기신청서 제출   

건물을 새로 짓는것은 갑.
B의 동의를 얻어 짓고 있다. 다 지으면 갚겠다하고 지었는데,
갑자기 B가 경매 신청함.  5억. A는 B에게 이미 근저당권을

이때 B가 경매 낙찰자에게 지상권을 주장할수 있나?
1) 지상권 포기에 대한 동의가 있었기에 건물을 지을수 있었다. B가 상식적으로 다시 지상권을 주장 할수는 없다?
2) 갑이  B의 동의 없이 집을 지었기에 지상권을 낙찰자에게 주장 할수 있다? - 동의 없이 지을수 있나?

B가 배당을 다 받으면 전혀 지상권 주장을 못할테고/
배당 다 못받으면, 지상권 주장 할수도 있을텐데?? 확실한 해결 방법 필요한가?

--> 증거를 확보해야 하는거 아닌가? 나중에 지상권 주장 할지도 모르는 상황을 대비하여?
--> 그럴 필요 없을 뜻 매각 물건 명세서에 지상권 없다고 나오고,  지상권에 대한 이의 신청, 말소 동의서 등이 제출 되어 있다.


만약 지상권이 소멸이라고 할경우, 법정지상권만 신경 쓰면 될뜻.
--> 해당 경매 물건은 법정지상권도 없는듯. (다만 그래도 건물 철거 청구권 판결문가져야 확실 히 협의가 될뜻)


그럼 토지에 대한 것만 중요 한데,

법정지상권이 성립하냐의 문제를 따져 봐야 하는듯.  (땅만 있다가 땅에 근저당권 설정후 주인이 집을 짓는 경우 (합의에의해) -> 법지권 성립 안할꺼 같다.)

법정지상권의 성립요건 (법률로 정한 조건이 있다는 의미)
1. 저당권 설정당시 건물/토지가 존재하고 같은 주인.
2. 어느 하나에 저당권설정
3. 경매로 주인이 바뀌면
위의 세가지 요건을 순서대로 만족 할때만 법정지상권 성립 (순서나 내용이 틀리면 성립하지 않는다)


(디테일 필요)
법치권 성립할까?  법지권 성립해도 돈벌고 안해도 돈번다? 하지만 성립안하는게 좀더 간단하다. (법지권 부존재 소송, 확인 판결문, 건물철거 가처분 신청, 철거 하든지/사든지 유도?)

법정지상권 성립한다고 해도 (이사이에 주인이 바뀌면 골아플뜻), 지료받다가, 법지권 부존재 소송 + 부당이득 반환 소송(동시진행).  동시에 어디에?? 가압류 걸어 놓고, 법지권부존재 소송 이기면,  건물 말소 소송다시 걸고,  걸면서 동시에 가처분 걸어 놓고, 이후 부당이득 반환 소송에서 이기면, 경매 넘겨, 해당 경매에서 다른사람못들어 오게하여 건물 낙찰.


법지권 부존재 소송 할때 증거로, 소송후 금융기관에 사실확인 조회하면 건물이 없는 감정평가를 받을수 있다. 이걸로 근저당 설정당시 건물 없었다는것을 증거 할수 있다.
https://www.youtube.com/watch?v=Ms_593OezWo


대신 법정지상권 성립하는것 물건 들어 갈때는
반드시 건축허가권  (사용 승인 까지는 안되어도 된다) 확인 필요. -> 왜냐면 상대가 있어야 싸운다.








[django] UserModel확장 - (one-to-one / class view방식) 기존 User에 필드를 더 추가 해서 사용자 정보를 유지하기 위함


목표
https://yellowdonkey0329.blogspot.com/2018/12/django-django-allauth.html 로부 터확장하여, UserModel을 확장하고자 한다.
몇가지 필드만 추가 할 예정이므로, one-to-one mapping을 이요한 UserModel확장방법을 해본다.

보안 필요


핵심흐름
0. ProfileModel을 만든다 (OneToOneField으로 User와 연결한다)
1. allauth의 signup을 사용하지 않게 하지위해, urls.py를 수정후 (allauth보다 이전), view로 이동하게 한다.
2. ProfileForm을 ProfileModel을 가지고 만든다.
3. view에서 기존의 form과 확장된 form (Profile)을 같이 처리 해준다.
4. templates에서의 구성
5. 기타

  • form field를 hidden 시키는것 

https://stackoverflow.com/questions/6862250/change-a-django-form-field-to-a-hidden-field

  • form.is_valid()에서 실패 할경우

return self.render_to_response(self.get_context_data(form=form))  사용 가능




고민해봐야 하는 점

1) 처리 하는 방법은 원래의 form(SingupForm)과 확장된 form (ProfileForm)을 동시에 다루어 각각 저장 하는 방법이 있을수 있고, 2) 하나의 form을 새로 만들어 model을 두개(User그리고 Profile models)을 우겨 넣는 방법이 있을수 있을것 같은데,  처음에는 2)으로 시도 하다가 대부분의 사이트에서 1)을 사용하고 있고, 또 기존의 User logic 을 수정없이 진행하기 위해 1)방식을 사용. 
또한 대부분은 class view 방식을 사용 하는것이 아니라, function방식을 하는 예제여서 바로 적용 하기 힘들었음. 다행히 https://medium.com/@EmadMokhtar/extend-django-user-model-and-gcbv-4745ab901ba 이것을 참조하였음.

Model을 사용 하는데 있어서도 추가될 field를 가지고 있는 ProfileModel에 user을 OneToOneField으로 연결후 그 ProfileModel을 사용 하여 form을 구성 하는 방법이 있을것 같은데, 시도 해 보지 못하였음 (https://medium.com/@EmadMokhtar/extend-django-user-model-and-gcbv-4745ab901ba 여기서는 Teacher model의 역할)

두개로 모델이 분리 되어 있어 form을 저장할때도 atomic을 유지 하는것이 여간 번거롭지 않다. 잘못 commit되었을때도 rollback시켜야 하는데 어렵다.


관련링크

  • https://simpleisbetterthancomplex.com/tutorial/2016/07/22/how-to-extend-django-user-model.html
  • https://cjh5414.github.io/extending-user-model-using-one-to-one-link/
  • https://medium.com/@EmadMokhtar/extend-django-user-model-and-gcbv-4745ab901ba
  • http://www.joshuakehn.com/2013/7/18/multiple-django-forms-in-one-form.html
  • https://stackoverflow.com/questions/2770810/multiple-models-in-a-single-django-modelform  (두개의 Form을 사용 할때 문제 되면 prefix 사용)
  • http://whatisthenext.tistory.com/118  (one-to-one mapping에 관한 유용한글)



0. ProfileModel을 만든다 (OneToOneField으로 User와 연결한다)

from django.db import models
from django.contrib.auth.models import User
class Profile(models.Model):
    us = models.OneToOneField(User, on_delete=models.CASCADE)
    bio = models.TextField(max_length=300, blank=True)
    location = models.CharField(max_length=30, blank=True)
    birth_date = models.DateField(null=True, blank=True)
    def __unicode__(self):
        return self.us.username
cs
1. allauth의 signup을 사용하지 않게 하지위해, urls.py를 수정후 (allauth보다 이전), view로 이동하게 한다.

    # all-auth
    url(r'^accounts/signup/$', NewSignupView.as_view(), name='signup'),
    url(r'^accounts/', include('allauth.urls')),
cs

2. ProfileForm을 ProfileModel을 가지고 만든다.


class ProfileForm(forms.ModelForm):
    class Meta:
        model = Profile
        fields = ("location","birth_date")
cs

3. view에서 기존의 form과 확장된 form (Profile)을 같이 처리 해준다.

from allauth.account.views import SignupView
from login_ext.forms import ProfileForm
class NewSignupView(SignupView):
    second_form_class = ProfileForm
    def get_context_data(self, **kwargs):
        # Get the context
        context = super(NewSignupView, self).get_context_data(**kwargs)
        # Adding the second form
        context['profile_form'= self.second_form_class
        return context
    def form_valid(self, form):
        profile_form = ProfileForm(self.request.POST)   #bind vs unbind FORM : using POST
        self.second_form_class = profile_form  #In case that is_valid() is false,
        if profile_form.is_valid():
            ret = super(NewSignupView, self).form_valid(form)
            profile_form.instance.us = self.user
            profile_form.save()
            return ret
        else:
            return self.render_to_response(self.get_context_data(form=form))
cs


4. templates에서의 구성
<form class="signup" id="signup_form" method="post" action="{% url 'account_signup' %}">
  {% csrf_token %}
  {{ form.as_p }}
  {{ profile_form.as_p }}
  {% if redirect_field_value %}
  <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
  {% endif %}
  <button type="submit">{% trans "Sign Up" %} &raquo;</button>
</form>
cs

2019년 1월 1일 화요일

[django] static / template 파일 관련 - booststrap에서 페이지가져와 내사이트에 적용시키기

핵심흐름
0. bootstrap 페이지 가져와 적용 하기 위한 배경설명
1. setting.py 파일의 구성
2. 경로 구성 및 bootstrap의 파일 복사
3. html이 잘보이는지 확인. 이를 위해 urls.py 구성.  (1차확인)
4. static 파일들(css,vender)들을 static 경로 밑에 복사
(django framework에 의해 static 파일이 알맞은 경로로 자동 변경 된다) (2차확인)
5. 실제 template 파일의 static 파일 경로들을 django 프레임웍에 맞게 바꾼다.  (3차확인)


관련 페이지






0. bootstrap 페이지 가져와 적용 하기 위한 배경설명

부트스트랩에서 페이지를 가져와서 적용을 하고 싶을때가 있는데, 생각 보다 잘 되지 않는다. static 파일과 template파일을 적절히 구성해야 제대로 된 페이지를 장고 프레임 웍에서 볼수 있다.

구성의 최종 형태는, 아래와 같다.



















static경로와 template의 경로에 s를 붙여 준것을 주의 하고, bbs 라는 앱에서 static 폴더를 만들고 그안에 다시 bbs를 만들어 static 파일을 위치 시켜준것을 유의 해야 한다.

이렇게 하는 이유는 나중에 서버에 release 할때는 bbs 앱뿐만 아니라 다른 A, B 앱등이 한꺼번에 올라 갈텐데 그때 다 따로 static 파일을 찾을수 없어 그걸 django에서는 한경로에 다 모아서 올리게 되단. 이때 사용 하는 명령어는 collectstatic  , 이 명령어를 통해 모든 관리되고 있는 static 파일들을 한 경로에 복사 되게 된다.  

그때 static파일을 사용한 html에서 경로의 코드 변경없이 사용 하기 위해 static 파일의 위치의 독립성을 유지 하기 위해 다음과 같은 형태로 구성하는것이 가이드 이다. 안하면 나중에 static 파일을 모으는 과정에서 중복된 이름이 있을경우 overwrite 되어 원하는 css 파일들을 이용 못하는 경우가 생길수 있다.

그러므로, 한곳으로 모을것을 가정하고 경로의 형태는 static / template 모두 위와 같은 형태로 구성하고 static 파일의 링크들을 장고 프레임웍에 맞는 형태로 바꾸는 작업을 하면  bootstrap에 있던 화면을 바로 django로 확인 할수 있다.


1. setting.py 파일의 구성


setting.py


STATICFILES_DIRS = [
   os.path.join(BASE_DIR, 'static'),
]
STATIC_URL = '/static/'
STATICFILES_FINDERS = (
   'django.contrib.staticfiles.finders.FileSystemFinder',
   'django.contrib.staticfiles.finders.AppDirectoriesFinder',     # 앱에 있는 static을 다 뒤져준다.
)
STATIC_ROOT = os.path.join(BASE_DIR, "static_root")
cs


4가지 설정이 반드시 필요. 

STATICFILES_DIRS   은  workspace에서 (앱 아닌) static 파일의 경로를 지정하는것 --> 여기에 static 파일이 존재 할수 있다는것 

STATICFILES_FINDERS   에 위와 같이 설정 하면 , 각각의 앱에 static 파일들을 뒤진다는 의미 (위처럼 경로를 구성해야 한다)

STATIC_URL  은 나중에 웹상에 접근 할때, STATIC_URL 의 url로 접근 가능 하다는 의미 e.g., localhost:8000/static/a.jpg

STATIC_ROOT   모든 static 파일이 모일 장소


2. 경로 구성 및 bootstrap의 파일 복사 

BASE_DIR/bbs/templates/bbs에 bootstrap의 파일들을 그대로 복사한다.


3. html이 잘보이는지 확인. 이를 위해 urls.py 구성.  (1차확인)

 URL의 구성은 아래와 같이 한다. (실제 경로는 BASE_DIR/bbs/templates/bbs 지만, 아래와 같이 bbs/templates 밑 부터 경로를 적어 준다)

url(r'^test$', TemplateView.as_view(template_name='bbs/post_index.html'), name='test'), 
cs


4. static 파일들(css,vender)들을 static 경로 밑에 복사 
bootstrap에 의 파일들 copy했을때 있었던 static 관련 파일 경로들을 BASE_DIS/bbs/static/bbs 밑으로 복사 한다. (pycharm의 경우 자동으로 경로가 상대경오로 바뀌어서 (refactory기능) 들어가게 된다.  화면이 깨지지 않고 잘 구성 되는지 확인 (2차확인)


5. 실제 template 파일의 static 파일 경로들을 django 프레임웍에 맞게 바꾼다.  (3차확인)

{% load static %}
<link href="{% static 'bbs/css/blog-post.css'%}" rel="stylesheet">   
cs

template 파일(html)등을 위와 같이 변경 한다. static 파일의 실제 위치는 BASE_DIR/bbs/static/bbs 가 될것 이고  href 에 저는 내용은 BASE_DIR/bbs/static 이후의 경로를 적어 준다.