Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
	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
Пример #6
0
 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
Пример #7
0
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)
Пример #8
0
 def get(self, request):
     context = {}
     context.update({
         'sidebars': SideBar.get_all(),
     })
     context.update(Category.get_navs())
     return render(request, 'blog/crawling.html', context=context)
Пример #9
0
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)
Пример #10
0
 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
Пример #11
0
 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
Пример #12
0
 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
Пример #13
0
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)
Пример #14
0
 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
Пример #15
0
 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
Пример #16
0
 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
Пример #17
0
 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
Пример #18
0
 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
Пример #19
0
 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
Пример #20
0
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)
Пример #21
0
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)
Пример #22
0
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())
Пример #23
0
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)
Пример #24
0
 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
Пример #25
0
 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
Пример #26
0
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)
Пример #27
0
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)
Пример #28
0
 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
Пример #29
0
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)
Пример #30
0
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)