Django + uwsgi + nginx + boottstrap 은 자신의 블 로 그 를 만 듭 니 다 - 11. 검색 과 ReadMore
검색 기능 구현 디자인:
myblog / article / views. py 에 검색 논리 추가
def blog_search(request):
if 's' in request.GET:
s = request.GET['s']
if not s:
return render(request,'home.html')
else:
post_list = Article.objects.filter(title__icontains = s)
if len(post_list) == 0 :
return render(request,'archives.html', {'post_list' : post_list,
'error' : True})
else :
return render(request,'archives.html', {'post_list' : post_list,
'error' : False})
return redirect('/')
간단 한 견 해 를 위해 archives. html 를 직접 수정 하여 조회 논리 에 부합 하도록 합 니 다.
{% extends "base.html" %}
{% block content %}
{% if error %}
{% else %}
{% for post in post_list %}
{% endfor %}
{% endif %}
{% endblock %}
if 판단 논 리 를 추가 하고 views 의 archives 를 수정 해 야 합 니 다.
def archives(request) :
try:
post_list = Article.objects.all()
except Article.DoesNotExist :
raise Http404
return render(request, 'archives.html', {'post_list' : post_list,
'error' : False})
마지막 으로 my 추가blog/my_blog / urls. py 설정 url
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'my_blog.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^$', 'article.views.home', name = 'home'),
url(r'^(?P\d+)/$', 'article.views.detail', name='detail'),
url(r'^archives/$', 'article.views.archives', name = 'archives'),
url(r'^aboutme/$', 'article.views.about_me', name = 'about_me'),
url(r'^tag(?P\w+)/$', 'article.views.search_tag', name = 'search_tag'),
url(r'^search/$','article.views.blog_search', name = 'search'),
)
ReadMore 기능
ReadMore 의 전단 버튼 인터페이스 설정 은 이미 추가 되 었 기 때문에 간단 한 설정 만 하면 됩 니 다.
Django 에 내 장 된 filter 를 사용 하면 속도 가 실 현 됩 니 다.
{{ value|truncatewords:2 }} # 2 , ,
여 기 는 my 만 수정 하면 됩 니 다.blog / templates / home. html 인터페이스의 변수 필터
# 10
{{ post.content|custom_markdown|truncatewords_html:100 }}
브 라 우 저 에 입력http://127.0.0.1:8000/효율 을 볼 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.