장고 2.1버전으로 새 블로그를 만들면서 프로젝트 폴더의 urls.py 안에서 인증 처리를 하는 방법을 배웠다.


기존에 내가 해오던 방식은, 


1) app폴더 urls.py에서 login, logout url을 등록

2) login 템플릿 만들기 (로그인 폼)

3) views.py에서 login, logout 함수를 호출하여 view 함수 만들기


3단계를 거쳐서 만들었다면,


1) 프로젝트 폴더 urls.py에서 django.contrib.auth에 포함된 views를 호출. views에 포함된 LoginView와 LogoutView를 path에 담아서 그대로 사용. 

2) login 템플릿 만들기 (로그인 폼)


1
2
3
4
5
6
7
8
9
10
from django.contrib import admin
from django.urls import path, include
from django.contrib.auth import views as auth_views
 
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
    path('accounts/login/', auth_views.LoginView.as_view(template_name='registration/login.html'), name='login'),
    path('accounts/logout/', auth_views.LogoutView.as_view(next_page='/'), name='logout'),
]
cs



1
2
path('accounts/login/', auth_views.LoginView.as_view(template_name='registration/login.html'), name='login')
# 템플릿 경로 
cs


1
2
path('accounts/logout/', auth_views.LogoutView.as_view(next_page='/'), name='logout')
# next_page는 리다이렉트 페이지로서 기본페이지 설정
cs



그리고 로그인 폼


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% extends 'blog/base.html' %}
 
{% block body %}
<div class="jumbotron">
  <h2>Please Login:</h2>
  <h3>(Must be SuperUser, please check with the site admin)</h3>
 
  {% if form.errors %}
    <p>Your username and password didn't match! Please try again.</p>
  {% endif %}
 
  <form action="" method="post">
    {% csrf_token %}
      {{ form.as_p }}
      <input type="submit" class="btn btn-primary" value="Login">
      <input type="hidden" class="next" value="{{ next }}">
  </form>
</div>
{% endblock %}
cs


블로그 이미지

쵸잇

,

as long as의 의미를 "~하는 한"으로 한 가지 뜻만 알고 있는 상태였다.


그래서 가끔 as long as가 쓰인 문장을 이해하기 어려울 때가 있었다.


이를 극복하기 위해 다시 재점검할 필요성이 생겼다.



지난번 일본어를 공부하다가 "限り하고 に限って"의 영어 번역 글 중에 해석이 "as long as"를 무심결에 보고 지나쳤었는데,


그걸 이제서야 떠올리고, 전반적인 쓰임에 대해 이해했다.


"限"는 "제한"의 뜻을 담고 있는 한자이다. 따라서 주로 번역이 "~에 한해서" "~경우에만" 으로 제한 뿐만 아니라 "조건"의 뜻도 가질 수 있다.


(즉, "~하는 한"에서 "한"이 "限"인 것이다. 한자 까막눈이면 이렇게 이해하는데 시간이 많이 걸린다..)



"제한"과 "조건"으로 이해한 상태에서 "as long as"를 다시 보면 훨씬 눈에 잘 들어왔다.


I will always be with you as long as I am alive

내가 살아있는 한 너랑 평생 함께 할 거야. (제한을 둔다)


You can go to the club as long as you come back home until 12p.m.

너가 12시까지 돌아온다면, 클럽에 가도 괜찮아. (조건을 둔다)



"as far as"도 비슷하게 해석하면 된다.


As far as the dictionary, there seems to be no such a word.

그 사전에서만, 그런 단어가 없는 것 같다. (사전에 한해서)


As far as I've been observing him, there is nothing strange about him.

그를 계속 지켜본 바로는 특별히 이상한 점을 찾을 수 없었다.



 






as long as, as far as

'외국어 > 영어' 카테고리의 다른 글

조동사 can, could는 어떻게 쓸까  (0) 2018.12.14
현재완료 파헤치기  (0) 2018.10.04
블로그 이미지

쵸잇

,

1. can과 be able to는 같은 말일까?


영어시간에 'can = be able to' 라는 필기를 어릴 적이 많이 했었다.

그럼에도 아직까지 사용하는데 서툰 점이 많다.

어떤 상황에서 쓸 수 있는지 고민해보고, 상황에 맞게 표현을 써보자.



1) 의미는 같은데 be able to만 써야하는 경우 


'할 수 있다' 의미를 can 아닌 be able to로만 써야할 경우가 종종 있는데, 

can은 조동사이므로 이미 다른 조동사를 사용하여 중복되거나, 

to부정사에서 '할 수 있다' 뜻을 담기 위해서이다. 

This monitor is so heavy - are you serious you'll be able to carry it by yourself?


(이 모니터 엄청 무거워, 너 정말 혼자서 이거 옮길 수 있겠어?)

You may be able to get a temporary passport at the airport.

(너 아마 공항에서 임시 여권 받을 수 있을거야)

Carol is expected to be able to meet him again next weekend.

(Carol은 다음주에 그를 다시 만날 수 있을 거라고 예상한다)

To take the class, you have to be able to know how to use python language.

(이 수업을 듣기 위해서는 당신은 python 언어를 사용할 수 있어야한다) 


2) 의미가 다른 경우


can/could는 노력을 내포하지 않고 갖고있는 일반적인 능력을 논할때 사용하고,

be able to는 노력을 통해서 어렵사리 할 수 있게 된 경우나 어느 한 사건에만 해당하는 경우에 쓰인다.


I could ride a bike when I was 6.

(나는 6살 때 자전거를 탈 수 있었다.)

I can speak 5 languages. 

(나는 5개국어를 할 수 있다.)

* 두 예문 모두 노력을 통해 얻은 능력은 분명하다. 다만 이미 할 수 있는 능력을 갖춘 상태이므로 예문 자체에서는 노력의 뜻을 포함되지 않는다.


I was able to get to the top of the mountain.

(나는 산 정상에 오를 수 있었다.) (산 정상에 오르는 건 쉽지 않은 일이므로 노력을 통해 힘들게 올랐음을 뜻하고 있다.)

Consumers are now able to buy the drug without a presription.

(소비자들은 이제 처방전 없이 약을 구매할 수 있다) (원래 구매하지 못했는데 구매할 수 있게 되었다. 일반적인 능력을 쓸 수 없는 예문이다)




'외국어 > 영어' 카테고리의 다른 글

as long as, as far as 파헤치기  (0) 2018.12.16
현재완료 파헤치기  (0) 2018.10.04
블로그 이미지

쵸잇

,