pixabay https://cdn.pixabay.com/photo/2019/03/12/20/27/kanban-4051777_1280.jpg [지난 번 글](https://steempeak.com/hive-101145/@june0620/python-17-django-10-ui)에서 변수 처리할 줄 몰라 하드 코딩한 부분이 있다. > action은 일단 하드코딩으로 /@june0620/search로 한다. 계정명은 변수로 처리하고 싶은데 안된다. ㅠ (#연구필요#장고초짜) 내 계정으로 하드 코딩했기 때문에 다른 사람의 글은 검색이 안 되는 불편한 진실을 오늘 수정해본다. action 값에 계정명을 동적으로 넣어야 하는데 계정명을 입력받는 곳은 현재 URL밖에 없으니 URL에서 계정명만 추출해야 한다. 다행히 `{{ request.path }}`로 현재 접속 중인 URL을 가져올 수 있는 듯하다. Template filters로 URL에서 계정명만 추출하면 되겠다. ##### templatetags templatetags 폴더 > post_extras.py에 필터를 하나 등록한다. URL을 인자로 받아 계정 추출하는 함수를 쓸 건데 정규 표현식을 동원해야 할 것 같은 느낌이 팍 온다. 아~~ 정규 표현식 모르는데... ㅠㅠ 인터넷에서 여러가지 방법 시도해 보다 가장 무난한 방법으로 가보자. 참고로 이런 정규식 체크 페이지도 있다. https://regex101.com/r/cO8lqs/4 ``` import re ... ... @register.filter def get_account_form_url(path: str): account = re.search(r'@[a-z0-9-.]*', path) print(path) print(account.group(0)) return account.group(0) if account else None ``` <p>  ##### base.html 이제 base.html 상단에 필터를 load 하고, form action에 필터를 적용하면 되겠다. ``` {% load post_extras %} ... ... <form action="/{{ request.path | get_account_form_url }}/search/" method="get"> <label >Tags: </label> <input id="tags" type="text" name="tags" value=""> <label >Titles: </label> <input id="titles" type="text" name="titles" value=""> <label >Texts: </label> <input id="texts" type="text" name="texts" value=""> <input type="submit" value="Search"> </form> ``` <p>  ##### 결과 이제 @gghite 님의 영화 리뷰를 검색해서 볼 수 있다. ㅎ  *** **[Cookie 😅]** Python 3.7.4 Django 2.2.4 steem-python 1.0.1 goorm IDE 1.3 참고한 글: https://medium.com/@chrisjune_13837/%EC%A0%95%EA%B7%9C%EC%8B%9D-%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC-%EC%98%88%EC%A0%9C%EB%A5%BC-%ED%86%B5%ED%95%9C-cheatsheet-%EB%B2%88%EC%97%AD-61c3099cdca8
author | june0620 |
---|---|
permlink | python-18-django-11-form-action |
category | hive-132971 |
json_metadata | {"app":"peakd/2020.09.1","format":"markdown","tags":["kr","dblog","dev","django","whalepower","palnet","python","goorm"],"users":["june0620","register.filter","gghite","chrisjune"],"links":["https://steempeak.com/hive-101145/@june0620/python-17-django-10-ui","https://regex101.com/r/cO8lqs/4","/@gghite","https://medium.com/@chrisjune_13837/%EC%A0%95%EA%B7%9C%EC%8B%9D-%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC-%EC%98%88%EC%A0%9C%EB%A5%BC-%ED%86%B5%ED%95%9C-cheatsheet-%EB%B2%88%EC%97%AD-61c3099cdca8"],"image":["https://cdn.pixabay.com/photo/2019/03/12/20/27/kanban-4051777_1280.jpg","https://cdn.steemitimages.com/DQmdCAPzAmj4PnJLtWxLSTpgxbU1ZystDbc2E1PYcD6MNkS/image.png","https://cdn.steemitimages.com/DQmcQzKTGkiSocuYPrwYPJ3KXvc92ZtnxYWsRANkzK5mc7k/image.png","https://cdn.steemitimages.com/DQmQxiYpbdjy5Sqzt9pHMBg3Dzb83R2z2EV378DC7mYMYww/image.png"]} |
created | 2020-09-10 12:15:15 |
last_update | 2020-09-10 12:15:15 |
depth | 0 |
children | 0 |
last_payout | 2020-09-17 12:15:15 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 1.322 HBD |
curator_payout_value | 1.183 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 2,164 |
author_reputation | 118,592,211,436,406 |
root_title | "[Python #18] [Django #11] form action 변수 적용 (부제: 타인 글 검색)" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 0 |
post_id | 99,552,633 |
net_rshares | 10,130,534,893,507 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
ace108 | 0 | 269,406,480,164 | 7% | ||
magicmonk | 0 | 2,269,631,052,339 | 100% | ||
tumutanzi | 0 | 924,604,706 | 50% | ||
coldhair | 0 | 890,963,604 | 50% | ||
centering | 0 | 1,863,922,057,089 | 100% | ||
alphacore | 0 | 10,722,193,380 | 0.65% | ||
shenchensucc | 0 | 16,574,351,198 | 30% | ||
khaiyoui | 0 | 553,542,637,765 | 30% | ||
kimzwarch | 0 | 9,189,439,406 | 4% | ||
june0620 | 0 | 593,755,083,258 | 100% | ||
mawit07 | 0 | 2,328,175,850 | 50% | ||
minloulou | 0 | 2,078,333,758 | 10% | ||
lindalex | 0 | 580,349,302 | 50% | ||
cnbuddy | 0 | 932,129,413,227 | 100% | ||
itchyfeetdonica | 0 | 107,730,099,546 | 50% | ||
nokodemion | 0 | 6,377,525,836 | 100% | ||
suhunter | 0 | 960,304,265 | 50% | ||
udabeu | 0 | 9,942,841,024 | 30% | ||
jsj1215 | 0 | 2,499,939,810 | 100% | ||
yasu | 0 | 3,395,023,444 | 100% | ||
futurecurrency | 0 | 26,284,863,675 | 40% | ||
realprince | 0 | 26,059,724,738 | 100% | ||
gghite | 0 | 129,301,369,636 | 100% | ||
payroll | 0 | 98,270,743,307 | 2% | ||
julialee66 | 0 | 1,086,738,627,498 | 8.5% | ||
andrewma | 0 | 11,226,347,240 | 50% | ||
newsnownorthwest | 0 | 5,743,011,611 | 55% | ||
coder-bts | 0 | 4,557,950,348 | 50% | ||
daath | 0 | 425,727,343 | 100% | ||
melaniewang | 0 | 8,057,423,661 | 50% | ||
changxiu | 0 | 5,045,274,828 | 50% | ||
laissez-faire | 0 | 38,858,095 | 100% | ||
cherryzz | 0 | 158,566,071,481 | 50% | ||
forecasteem | 0 | 65,196,638,773 | 100% | ||
jeehun | 0 | 6,993,902,926 | 100% | ||
moneytron | 0 | 4,059,498,105 | 100% | ||
steemfriends | 0 | 11,109,797,643 | 100% | ||
bluesniper | 0 | 587,351,428,110 | 100% | ||
ctime | 0 | 878,106,235,779 | 5% | ||
cpt-sparrow | 0 | 2,536,723,363 | 100% | ||
tina3721 | 0 | 4,857,844,863 | 50% | ||
andyhsia | 0 | 8,049,489,319 | 100% | ||
minigame | 0 | 337,141,406,037 | 100% | ||
real3earch | 0 | 1,828,938,261 | 100% | ||
toni.pal | 0 | 0 | 0.62% | ||
logicforce | 0 | 1,801,958,030 | 50% | ||
greentealover | 0 | 1,459,865,170 | 100% | ||
qdolphin | 0 | 1,462,378,159 | 100% | ||
blogstats | 0 | 1,681,926,537 | 100% |