def post_list(request, category_id=None, tag_id=None): ''' content = 'post_list category_id={category_id}, tag_id={tag_id}'.format( category_id=category_id, tag_id=tag_id, ) return HttpResponse(content)''' # return render(request, 'blog/list.html', context={'name': 'post_list'}) tag = None category = None if tag_id: post_list, tag = Post.get_by_tag(tag_id) elif category_id: post_list, category = Post.get_by_category(category_id) else: post_list = Post.latest_post() context = { 'category': category, 'tag': tag, 'post_list': post_list, } context.update(Category.get_navs()) context.update({'sidebars': SideBar.get_all()}) return render(request, 'blog/list.html', context=context)
def post_list(request, category_id=None, tag_id=None): tag = None category = None if tag_id: p_list, tag = Post.get_by_tag(tag_id=tag_id) elif category_id: p_list, category = Post.get_by_category(category_id=category_id) else: p_list = Post.objects.filter(status=Post.STATUS_NORMAL) context = { 'category': category, 'tag': tag, 'post_list': p_list, 'sidebars': SideBar.get_all(), 'categories': Category.objects.all(), 'Tags': Tag.objects.all(), 'latest_posts': Post.latest_posts(), 'read_posts': Post.objects.filter(status=Post.STATUS_NORMAL).order_by('created_time') } return render(request, 'blog/index.html', context=context)
def post_list(request, category_id=None, tag_id=None): tag = None category = None # if tag_id: # try: # tag = Tag.objects.get(id=tag_id) # except Tag.DoesNotExist: # post_list=[] # else: # post_list = tag.post_set.filter(status = Post.STATUS_NORMAL) # else: # post_list = Post.objects.filter(status = Post.STATUS_NORMAL) # if category_id: # try: # category = Category.objects.get(id = category_id) # # except Category.DoesNotExist: # category = None # else: # post_list = post_list.filter(category_id=category_id) if tag_id: post_list, tag = Post.get_by_tag(tag_id) elif category_id: post_list, category = Post.get_by_category(category_id) else: post_list = Post.latest_posts() context = { 'category': category, 'tag': tag, 'post_list': post_list, 'sidebars': SideBar.get_all(), } context.update(Category.get_navs()) return render(request, 'blog/list.html', context=context)
def post_list(request, category_id=None, tag_id=None): """ 同一个视图中处理多个url逻辑 :param request: :param category_id: :param tag_id: :return: """ tag = None category = None if tag_id: post_list, tag = Post.get_by_tag(tag_id) elif category_id: post_list, category = Post.get_by_category(category_id) else: post_list = Post.latest_posts() context = { 'category': category, 'tag': tag, 'post_list': post_list, 'sidebars': SideBar.get_all() } context.update(Category.get_navs()) return render(request, 'blog/list.html', context=context)
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({ 'sidebars': SideBar.get_all() }) context.update(Category.get_navs()) return context
def get_context_data(self, **kwargs): context = super(CommonViewMiXin, self).get_context_data(**kwargs) context.update({ 'sidebars': SideBar.get_all(), }) context.update(Category.get_navs()) return context
def post_list(request, category_id=None, tag_id=None): '''content = 'post_list category_id={category_id},tag_id={tag_id}'.format( category_id = category_id, tag_id = tag_id, ) return HttpResponse(content)''' tag = None category = None post_list = Post.objects.filter(status=Post.STATUS_NORMAL) if tag_id: post_list, tag = Post.get_by_tag(tag_id) elif category_id: post_list, category = Post.get_by_category(category_id) else: post_list = Post.latest_posts() context = { 'category': category, 'tag': tag, 'post_list': post_list, 'sidebars': SideBar.get_all(), } context.update(Category.get_navs()) return render(request, 'blog/list.html', context=context)
def get(self, request): context = {} context.update({ 'sidebars': SideBar.get_all(), }) context.update(Category.get_navs()) return render(request, 'blog/crawling.html', context=context)
def post_list(request, category_id=None, tag_id=None): tag = None category = None if tag_id: # try……except:如果查询到不存在的对象,需要捕获并处理异常,避免当数据不存在时出现错误 try: # tag 和 post 是多对多的关系,需要先获取tag对象,接着通过对象来获取对应的文章列表 tag = Tag.objects.get(id=tag_id) except tag.DoesNotExist: post_list = [] else: post_list = tag.post_set.filter(status=Post.STATUS_NORMAL) else: # 逻辑如下:先取出状态正常的所有的Post的集合,在从其中过滤出指定id的Post。 # 而不是先过滤出指定id的Post,再看文章状态是否正常。 post_list = Post.objects.filter(status=Post.STATUS_NORMAL) if category_id: try: category = Category.objects.get(id=category_id) except Category.DoesNotExist: category = None else: post_list = post_list.filter(category_id=category_id) context = { 'category': category, 'tag': tag, 'post_list': post_list, 'sidebars': SideBar.get_all(), } context.update(Category.get_navs()) # 进行数据回传的时候,要注意context中的内容,不要把后面的加上'',成为'post_list' return render(request, 'blog/list.html', context=context)
def get_context_data(self,**kwargs): context = super().get_context_data(**kwargs) context.update({'sidebars':SideBar.get_all()}) context.update(Category.get_navs()) paginator_range = context["paginator"].page_range context.update({ "paginator_range": paginator_range }) addrString = '' # 查询ip的接口 try: r = requests.get(url='http://whois.pconline.com.cn/ipJson.jsp?ip='+str(self.request.META.get('REMOTE_ADDR'))+'&json=true') print('http://whois.pconline.com.cn/ipJson.jsp?ip='+self.request.META.get('REMOTE_ADDR')+'&json=true') # print(type(json.loads(r.content))) jsonStr = json.loads(str(r.content, encoding="gbk")) # jsonStr = json.loads(str(r.content, encoding="utf-8")) # print(jsonStr["country"]+jsonStr["regionName"]+jsonStr["city"]) # addrString = jsonStr["country"]+jsonStr["regionName"]+jsonStr["city"] addrString = jsonStr["addr"] except Exception as e: print(e) try: with open(os.path.dirname(os.path.abspath(__file__))+'visitRecord.txt', 'a') as f: f.write("IP:"+self.request.META.get('REMOTE_ADDR')+"日期:"+addrString+str(datetime.now())+"\n") f.close() except Exception as e: print(e) # print("IP:",self.request.META.get('REMOTE_ADDR'),"日期:",datetime.now()) return context
def get_context_data(self, **kwargs): #用来获取上下文数据并传入模板中 context = super().get_context_data(**kwargs) #当IndexView继承时,它去继承了ListView的context? context.update({ 'sidebars': SideBar.get_all(), }) context.update(Category.get_navs()) return context
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({ 'sidebars': SideBar.get_all(), }) context.update(Category.get_navs()) print("This is second") return context
def post_detail(request, post_id=None, *args, **kwargs): try: post = Post.objects.get(id=post_id) except Post.DoesNotExist: post = None context = {'post': post, 'sidebars': SideBar.get_all()} context.update(Category.get_navs()) return render(request, 'detail.html', context=context)
def get_context_data(self, **kwargs): from config.models import SideBar context = super().get_context_data(**kwargs) context.update({ 'sidebars': SideBar.get_all(), }) context.update(Category.get_navs()) return context
def get_context_data(self, **kwargs): # noinspection PyUnresolvedReferences context = super().get_context_data(**kwargs) context.update({ 'sidebars': SideBar.get_all(), }) context.update(Category.get_navs()) return context
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({ 'sidebars': SideBar.get_all(), 'keyword': '', # 此处添加keyword,解决VariableDoesNotExist报错 }) context.update(Category.get_navs()) return context
def get_context_data(self, **kwargs): context = super().get_context_data( **kwargs) # 获取上下文 这是一个多态的继承 super指的是下面IndexView这个类的继承 context.update({ 'sidebars': SideBar.get_all(), # 侧边栏 }) context.update(Category.get_navs()) # 分类 return context
def get_context_data(self, **kwargs): context = super().get_context_data( **kwargs) # TODO(Devin): object -> super() ??? context.update({ 'sidebars': SideBar.get_all(), }) context.update(Category.get_navs()) return context
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({ 'sidebars': SideBar.get_all(), }) #self.request获取request context.update(Category.get_navs(self.request)) return context
def post_detail(request, post_id): try: post = Post.objects.get(id=post_id) except Post.DoesNotExist: post = None context = {"post": post, "sidebars": SideBar.get_all()} context.update(Category.get_navs()) return render(request, "blog/detail.html", context=context)
def post_detail(request, post_id): post = Post.objects.filter(id=post_id).first() handle_visited(request, post_id) context = { 'post': post, 'sidebars': SideBar.get_all(), } context.update(Category.get_navs()) return render(request, 'blog/detail.html', context=context)
def post_detail(request, post_id=None): """文章详情页""" try: post = Post.objects.get(id=post_id) except Post.DoesNotExist: post = None context = {'post': post, 'sidebar_list': SideBar.get_all()} return render(request, 'blog/detail.html', locals())
def post_detail(request, post_id): #return HttpResponse('detail') try: post = Post.objects.get(id=post_id) except Post.DoesNotExist: post = None context = {'post': post, 'sidebars': SideBar.get_all()} context.update(Category.get_navs()) return render(request, 'blog/detail.html', context)
def get_context_data(self, **kwargs): # print(self.kwargs) context = super().get_context_data(**kwargs) context.update({'sidebar': SideBar.get_all()}) context.update( {'link_list': Link.objects.filter(status=Link.STATUS_NORMAL)}) context.update(Category.get_navs()) # print(context) return context
def get_context_data(self, **kwargs): # print("demo -----------") context = super().get_context_data(**kwargs) context.update({ 'sidebars': SideBar.get_all(), }) context.update(Category.get_navs()) # print(context) # print("sidebars",context['sidebars']) return context
def post_detail(request, post_id=None): try: post = Post.objects.get( id=post_id) # get方法只能匹配一条记录,返回字典形式,filter返回一个queryset列表 except: post = None context = {'post': post, 'sidebars': SideBar.get_all()} context.update(Category.get_navs()) return render(request, 'blog/detail.html', context=context)
def post_detail(request, post_id=None): try: post = Post.objects.get(id=post_id) except Post.DoesNotExist: post = None context = { 'post': post, 'sidebars': SideBar.get_all(), } return render(request, 'blog/detail.html', context=context)
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({ 'sidebars': SideBar.get_all(), 'comment_form': CommentForm, 'comment_list': Comment.get_by_target(self.request.path), }) context.update(Category.get_navs()) return context
def post_detail(request, post_id=None): try: # 通过id获取指定的Post文章 post = Post.objects.get(id=post_id) except Post.DoesNotExist: post = None context = { 'post': post, 'sidebars': SideBar.get_all(), } context.update(Category.get_navs()) return render(request, 'blog/detail.html', context=context)
def post_list(request, category_id=None, tag_id=None): tag = None category = None ''' if tag_id: try : tag = Tag.objects.get(id=tag_id) except Tag.DoesNotExist: post_list = [] else: post_list = tag.post_set.filter(status=Post.STATUS_NORMAL) else: post_list = Post.objects.filter(status=Post.STATUS_NORMAL) if category_id: try: category = Category.objects.get(id=category_id) except Category.DoesNotExist: category = None else: post_list = post_list.Filter(category_id=category_id) context = { 'category':category, 'tag':tag, 'post_list':post_list, } return render(request, 'blog/list.html', context=context) ''' ''' 如果查询到不存在的对象,需要通过try...except...来捕获并处理异常,避免当数据不存在时出现错误 tag与post是多对多关系,因此需要先获取tag对象,接着通过该对象来获取对应的文章列表。 ''' if tag_id: post_list, tag = Post.get_by_tag(tag_id) elif category_id: post_list, category = Post.get_by_category(category_id) else: post_list = Post.latest_posts() from config.models import SideBar context = { 'category':category, 'tag': tag, 'post_list': post_list, 'sidebars': SideBar.get_all(), } context.update(Category.get_navs()) return render(request, 'blog/list.html', context=context)