반응형
CodingEntrepreneurs Django 강의 정리
re_path>
1. Regular expression을 이용한 고급 path matching
2. 좀더 세밀한 조건 - 예를 들어 특정 문자열 길이를 갖는 문자열 검색 - 으로 검색 하고자 한다면 사용
3. regular expressions 은 the raw string literal syntax 로 선언되어야 합니다 (즉, 다음처럼 '< >' 로 닫혀 있어야 한다
문법>
Symbol | Meaning | |
^ | 기술된 text 로 그 문자열이 시작되는지 | |
$ | 기술된 text 로 그 문자열이 끝나는지 | |
\d | 숫자(0, 1, 2, ... 9) 인지 | |
\w | word character 인지. 즉, 대소문자, 숫자, underscore character (_) 로만 구성된 단어인지. | |
+ | 하나 이상의 선행 문자가 있는지. 예를 들어, 하나 이상의 숫자와 매치한다면 \d+.를 하나 이상의 'a' 문자와 매치 한다면 a+ | |
* | 매치되는 문자열이 없거나 많은 경우, 예를 들어 매칭이 안되거나 한 단어를 찾고자 할 경우 \w* | |
( ) | 괄호안에 있는 패턴의 일부를 선택할때. 선택된 값은 unnamed parameter 로 view 에게 전달된다. (만일 여러 패턴들이 선택 되었다면 선택된 순서대로 연관된 파라미터로써 전달 될것입니다. | |
(?P<name>...) | (...에 표기된) 패턴을 명명한 variable로 변환합니다(이 경우에는 "name" 입니다). 변환한 이름을 view 에 지정한 이름으로 넘깁니다. 그러므로 당신의 view 에서는 반드시 argument명을 동일하게 해주어야 합니다! | |
[ ] | 집합 set 안에 있는 글자중 한개와 매치 될때. 예를 들어 [abc] 는 'a',혹은 'b' 혹은 'c' 와 매치되는지. [-\w] 는 '-' 한 글자 인지 혹은 '-'를 포함한 단어와 매치 하는지를 나타냅니다. |
Http404>
1. 만약 요청된 레코드가 존재하지 않는다면, 제네릭 클래스 기반의 detail view는 Http404 exception 이 저절로 발생
2. 표준 오류 페이지와 HTTP 오류 코드 404를 반환
views.py>
# tweets/views.py
from django.http import HttpResponse, Http404
from django.shortcuts import render
from .models import Tweet
# Create your views here.
def home_view(request, *args, **kwargs):
# print(args, kwargs)
return HttpResponse("<h1>Hello World</h1>")
def tweet_detail_view(request, tweet_id, *args, **kwargs):
# print(args, kwargs)
try:
obj = Tweet.objects.get(id=tweet_id)
except:
raise Http404
return HttpResponse(f"<h1>Hello {tweet_id} - {obj.content}</h1>")
결과물>
반응형
'Python_WEB > Tweetme' 카테고리의 다른 글
[Django]Our First Template (0) | 2020.07.08 |
---|---|
[Django]Dynamic View into REST API Endpoint (0) | 2020.07.01 |
[Django]Intro to URL Routing and Dynamic Routing (0) | 2020.06.29 |
[Django]The Tweets Model (0) | 2020.06.28 |
[Django]Our Roadmap (0) | 2020.06.28 |