示例#1
0
文件: views.py 项目: sureboy/xiaorizi
def site_links(request):
    title = request.COOKIES.get('city_py', '')
    city_name = request.COOKIES.get('city', '')
    head = {
        'title': u'友情链接_活动家',
        'keywords': u'友情链接,活动家',
        'description':
        u'这里是活动家的友情链接页面,欢迎活动、会议、旅游、娱乐相关行业与本站进行友链交换,请联系QQ:3062279918'
    }

    return render_to_response('site_links.html', {
        'city': city_name,
        'city_py': title,
        'site_links': get_site_links(),
        'head': head
    },
                              context_instance=RequestContext(request))
示例#2
0
 def save_model(self, request, obj, form, change):
     obj.save()
     get_site_links(True)
示例#3
0
def list_page(request,city=None,cat='meeting',month=None,offset=1):
    '''
    cal_flag: return list or calendar
    lead_cat: all the filtering is under this lead_cat category
    city, cat, month : filter the data by this city, category, month
    blank_page_flag: return blank page, if necessary
    '''

    #####################
    if cat == 'meeting':
        cat = 'business'
    #####################

    cal_flag = request.GET.get('cal')
    if cal_flag: cal_flag = 1

    #lead_cat = 'meeting'
    lead_cat = 'business'

    new = False
    if request.GET.get('db') and request.user.is_authenticated():
        new = True

    blank_page_flag = False

    month_int = 0
    if month:
        if month.isdigit():
            month_int = int(month)
        else:
            #return redirect(reverse('new_event.showlist.list', kwargs={'city':city, 'cat':cat}))
            raise Http404

        if int(month) not in range(1,13):
            raise Http404
            #month_int = 0
            #month = None
            #return redirect(reverse('rd_page', kwargs={'city':city, 'cat':cat}))

    #in the calendar page, no 'all' option for month selection
    if cal_flag and month_int == 0:
        raise Http404

    #if month before the current, then it means the month of next year
    today = datetime.date.today()
    if month_int == 0:
        date_in = ''
    else:
        date_in = datetime.date(today.year+1 if month_int < today.month else today.year
                            ,month_int,1)
    
    #month = str(month).zfill(2)

    #if city not in the city-dataset or != 'city', raise 404
    city_title_dict = NewCity(3)
    if not city:
        city_info = (0,u'不限','')
    elif city_title_dict.has_key(city):
        city_info = city_title_dict[city]
    else:
        raise Http404
        #blank_page_flag = True
    

    #get all cats by city
    #if cat not in the lead-cats-dataset or != lead_cat, return empty
    cat_ename_dict = NewCatUrl(0, '', new=new)
    cat_ename_list = []
    seo_dict = {}
    if cat_ename_dict.has_key(lead_cat):
#to include category itself and its children
        cat_ename_list += [cat_ename_dict[lead_cat]] + \
                filter(lambda x: x['ename'] not in ['meeting','training','expo'], 
                        cat_ename_dict[lead_cat]['child'])
        try:
            seo_dict = cat_ename_dict[cat]['seo']
        except KeyError:
            pass
    else:
        #raise Http404
        blank_page_flag = True

    cat_id = 0
    if cat not in [i['ename'] for i in cat_ename_list]:
        raise Http404
        #cat = lead_cat

    cat_id = cat_ename_dict[cat]['id']

    #get all tags by cats (how to by cities & cats)
    tag_name = request.GET.get('tag')
    #tag_name is None not in the url
    #set it to '' for the further usage
    if not tag_name:
        tag_name = ''
    else:
        tag_name.encode('utf-8')


    tag_id = 0  #default

    #get all tags under the category
    tag_name_id_dict = {}
    if cat_ename_dict.has_key(cat):
        for i in cat_ename_dict[cat]['tag']:
            if i.has_key('id') and i.has_key('name'):
                tag_name_id_dict[i['name']] = i['id']
    else:
        #blank_page_flag = True
        tag_name = ''


    if tag_name:
        if tag_name_id_dict.has_key(tag_name):
            tag_id = tag_name_id_dict[tag_name]
        else:
            #pass
            tag_name = ''
            #blank_page_flag = True

    offset_str = request.GET.get('page')
    if offset_str:
        try:
            offset = int(offset_str)
            if offset < 1:
                offset = 1
        except TypeError:
            offset = 1
    

    listDict = {}

    #BreadcrumbNavigation
    listDict['bn_title'] = ''
    if date_in:
        listDict['bn_title'] += month_int2ch(date_in.month)
    if city:
        listDict['bn_title'] += city_info[1]
    if tag_name:
        listDict['bn_title'] += tag_name
        listDict['bn_title'] += u'会议'
    else:
        if cat != lead_cat:
            listDict['bn_title'] += cat_ename_dict[cat]['catname']
        else:
            if listDict['bn_title']:
                listDict['bn_title'] += u'会议'



    ######################
    #info of current page#
    ######################
    listDict['current_city'] = city_info[1]
    #cat == '' indicates the cat_ename_dict is empty
    listDict['current_cat'] = cat_ename_dict[cat]['catname'] if cat != lead_cat and cat else u'不限'
    listDict['current_month'] = month_int2ch(month_int)
    listDict['current_tag'] = tag_name if tag_name else u'不限'

    ###############
    #advertisement#
    ###############
    ads = get_image_ads(4)
    listDict['ads'] = map(set_ads_img_url, ads)

    ###############
    #friendly link#
    ###############
    links = get_site_links(new)
    if city:
        links = filter(lambda x: city in x[4], links)
    else:
        links = filter(lambda x: not len(x[4]), links)
    if cat != lead_cat:
        links = filter(lambda x: cat in x[5], links)
    else:
        links = filter(lambda x: not len(x[5]), links)

    listDict['site_links'] = links


    ################
    #filter options#
    ################
    #do not include 'page='
    url_tail = [['tag', quote(tag_name.encode('utf-8'))], ['cal', cal_flag]]
    url_tail_for_cat = [['cal', cal_flag]]

    #nu:name,url
    listDict['city_nu'] = move_to_n_first(
            list_get_city_ch_py_url(lead_cat, cat, month, url_tail, new), 
            city_info[0], 1)

    listDict['cat_nu'] = list_get_cat_ch_py_url(
            lead_cat, cat_ename_list, city, month, url_tail_for_cat, new)

    listDict['month_nu'] = list_get_month_ch_py_url(
            lead_cat, cat, city, today.year, today.month, url_tail, new)

    listDict['tag_nu'] = move_to_n_first(
            list_get_tag_ch_py_url(lead_cat, cat, city, month, tag_name_id_dict, [['cal', cal_flag]], new),
            tag_id, 1)


    #####
    #seo#
    #####
    if city_info[0]:
        html_head_city = city_info[1]
    else:
        #html_head_city = ','.join([i[1] for i in city_title_dict.values()])
        html_head_city = u''

    if cat == lead_cat:
        html_head_cat = ','.join([i['ename'] for i in cat_ename_list])
    else:
        html_head_cat = cat_ename_dict[cat]['ename']

    if month_int:
        html_head_date = u'%s年%s月' %(date_in.year, date_in.month)
    else:
        html_head_date = u'最新'

    if tag_name and cat != lead_cat:
        #html_head_tag = ','.join(tag_name_id_dict.keys())
        html_head_tag = tag_name
    else:
        html_head_tag = ''

    listDict['head'] = get_list_cal_head(seo_dict, html_head_city, html_head_cat, html_head_date, html_head_tag, cal=cal_flag, new=new)


    ##################
    #list or calendar#
    ##################
    listDict['cal_flag'] = cal_flag

    if cal_flag:
        #remove 'all' option for month-selection in the calendar page
        listDict['month_nu'] = listDict['month_nu'][1:]

        listDict['year'] = date_in.year
        listDict['month'] = date_in.month

        u_tail = ''
        if tag_name:
            u_tail = '?tag=' + quote(tag_name.encode('utf-8'))
        listDict['switch_link'] = '/' + join_advanced([city, cat, month]) \
                                + '/' + u_tail
        listDict['calendar_table'] = calendar_page(cat, city_info, date_in, tag_id, new)
        listDict['reset_link'] = '/' + join_advanced([lead_cat, str(today.month).zfill(2)+'?cal=1'])


    else:
        if tag_name:
            u_tail = '?tag=' + quote(tag_name.encode('utf-8')) + '&cal=1'
        else:
            u_tail = '?cal=1'

        if month:
            listDict['switch_link'] = '/' + join_advanced([city, cat, month]) \
                                    + '/' + u_tail
        else:
            listDict['switch_link'] = '/' + join_advanced([city, cat, str(today.month).zfill(2)]) \
                                    + '/' + u_tail

        listDict['reset_link'] = '/' + lead_cat + '/'


        ##############
        #right column#
        ##############
        listDict['right_news'] = list_get_right_news(today, new)
        listDict['right_news_more'] = '/spot/'

        listDict['right_video'] = list_get_right_video(today, new)
        listDict['right_video_more'] = '/video/'

        listDict['right_top10'] = event_city_cat('',69)[:10]


        #do not raise 404
        if blank_page_flag:
            return render(request, 's_list.html', listDict)

        #the amount of the events


        count = get_event_list_by_ccdt(cat=cat,city=city_info,date=date_in,page=False,offset=False,order='',new=new,tag_id=tag_id)

        count=count if count else 0

        perpage=12
        pages = count/perpage
        if 0 != (count%perpage): pages = pages + 1
        if offset > pages: offset = pages
        
        listDict.update(show_list(request,city_info,cat,date_in,tag_id,perpage,offset,new))

        listDict['firstPage'],listDict['lastPage'],listDict['prePage'],listDict['nextPage'],listDict['pageList'] \
                = list_page_url(city,cat,month,tag_name,pages,offset)


    return render(request, 's_list.html', listDict)
示例#4
0
def list(request, city=None, cat=None, date=None, offset=1):

    #log.debug('get list')

    date = request.GET.get('dat')
    offset = request.GET.get('page')
    ''' 
    if not date and not cat:    
        return homePage(request,city)
        #return False
    '''
    ##router to homePage when host/<city> requested
    if not cat and city:
        #if city is a real <city> identifier
        titleDict = NewCity(3)
        if city in titleDict:
            return homePage(request, city)
        #else do nothing

    ##if <cat> in meeting -> views.list_page
    cat_url = NewCatUrl()
    meetings = cat_url['meeting']
    business = cat_url['business']

    tags_set = ['meeting', 'business']

    for nav in meetings['child']:
        tags_set.append(nav['ename'])
    for nav in business['child']:
        tags_set.append(nav['ename'])
        for nav2 in nav['child']:
            tags_set.append(nav2['ename'])

    #when url is host/<cat> the variable 'city' is <cat>
    if city in tags_set:
        return list_page(request, cat=city)
    if cat in tags_set:
        return list_page(request, city=city, cat=cat)
    ###

    if cat_url.has_key(city):
        cat = city
        city = ''
    if not cat: cat = 'all'
    if not date: date = 'latest'
    if not offset:
        offset = 1
    else:
        offset = int(offset)

    listDict = showList(request, city, cat, date, offset)

    links = get_site_links()

    site_link_city = []
    for li in range(len(links)):
        try:
            if 0 < len(links[li][4]):
                for l in links[li][4]:
                    if l == city:
                        site_link_city.append(links[li])
                        break

            else:
                pass
                #listDict['site_links'].append(links[li])
        except:
            pass
            #listDict['site_links'].append(links[li])

    site_link_cat = []
    for li in range(len(site_link_city)):
        try:
            if 0 < len(site_link_city[li][5]):
                for l in site_link_city[li][5]:
                    if str(l) == str(cat):
                        site_link_cat.append(site_link_city[li])
                        break

            else:
                pass
                #site_link_cat.append(listDict['site_links'][li])
        except:
            pass
            #site_link_cat.append(listDict['site_links'][li])
    listDict['site_links'] = site_link_cat

    #print connection.queries
    return render_to_response('list.html',
                              listDict,
                              context_instance=RequestContext(request))
示例#5
0
def homePage(request, city_title=False):
    #cityId = 45052
    #city_name = u'北京'
    #title = 'beijing'
    if not city_title:
        cityObj = (None, 0, '')
    else:
        cityObj = find_from_city(request, city_title)
    left = event_city_cat(cityObj[0], 69, True)
    #right=event_city_cat(cityObj[0],(19,70)  )
    #return render_to_response('base_error.html',{'error_msg':left})
    #special_dic_list  = right [:12]
    business_dic_list = left[:12]
    '''
    r= len(special_dic_list)-8
    if r<0:  
        rb = event_city_cat(cityObj[0],70  )  
        special_dic_list.extend(rb[:abs(r)] )
        
        
    l= len(business_dic_list)-8
    if l<0:  
        b = event_city_cat(cityObj[0],(19,69)  )  
        business_dic_list.extend(b[:abs(l)] )
        #return render_to_response('base_error.html',{'error_msg':b}) 
    '''
    # 获取视频,按照end_time排序,只取6个
    video = NewEventParagraph.objects.filter(
        cat_name_id=17543).order_by('-end_time')

    def setUrl(v):
        v.video_url = '/video-' + str(v.id) + '.html'
        return v

    video_list = map(setUrl, video[:7])

    #return render_to_response('base_error.html',{'error_msg':special_dic_list})

    head = {
        'title':
        u'活动家-亚洲最大的活动网聚合平台-全面、安全、快捷、方便_认准活动家官方网站',
        'keywords':
        u'活动家,网上订票,会议网,活动网,亲子活动,活动,同城活动',
        'description':
        u'活动网为您提供海量会议,公开课,会展,极限运动,当地体验,夜生活,演出折扣票,同城活动查询,特色旅游,门票预订,报名,参加活动,每日发布最新活动,发布活动请上活动家!服务热线:400-003-3879'
    }
    hot_links = get_site_hot_links()
    hot_links_new = []
    for ev in hot_links:
        try:
            if datetime.datetime.strptime(
                    ev[5], '%Y-%m-%d %H:%M:%S') < datetime.datetime.now():
                continue
        except:
            pass
        try:
            if datetime.datetime.strptime(
                    ev[4], '%Y-%m-%d %H:%M:%S') > datetime.datetime.now():
                continue
        except:
            pass
        #ev[0]='%s%s' % (ev[0],ev[5])
        hot_links_new.append(ev)

    ###########

    def judge(string):
        for c in string:
            if c.isdigit():
                return False
        return True

    meetings = NewCatUrl(0, '', True)['business']

    i = 0
    length = len(meetings['child'])
    while i < length:
        nav = meetings['child'][i]
        if not judge(nav['caturl']) or meetings['child'][i]['ename'] in [
                'meeting', 'training', 'expo'
        ]:
            del meetings['child'][i]
            #nav['caturl'] += 'del'
            length -= 1
        else:
            i += 1
    ###########

    if city_title:
        cn = cityObj[1]
        head = {'title':u'%s商务会议网_%s同城活动网_%s活动家' % (cn, cn, cn),
            'keywords':u'%s会议网,%s同城活动,%s商务活动,%s活动' % (cn, \
                cn, cn, cn),
            'description':u'找%s会议、活动,上活动家Huodongjia.com!活动家是%s最大商务活动网站,提供%s地区专业商务会议、同城活动的查询与报名服务,涵盖IT、医疗、金融财经、能源化工、农业林业等行业优质商务会议,美食体验、极限运动、亲子活动、娱乐演出等优质同城活动,在线订票,免费发布活动,全面、安全、快捷、方便,认准活动家官方网站!服务热线:400-003-3879' % \
                    (cn, cn, cn)

            }
    else:
        head = {
            'title':
            u'活动家-专业商务会议网-亚洲最大活动网站',
            'keywords':
            u'活动网,会议网,商务活动,商务会议,活动家',
            'description':
            u'找会议,上活动家Huodongjia.com!活动家是亚洲最大商务活动网站,提供专业商务会议、同城活动的查询与报名服务,涵盖IT、医疗、金融财经、能源化工、农业林业等行业优质商务会议,美食体验、极限运动、亲子活动、娱乐演出等优质同城活动,在线订票,免费发布活动,全面、安全、快捷、方便,认准活动家官方网站!服务热线:400-003-3879'
        }

    ##########
    bay = {
        'city': cityObj[1],
        'city_id': cityObj[0],
        'city_py': cityObj[2],
        'hot_links': hot_links_new[:5],
        #'special_list':special_dic_list,
        'business_list': business_dic_list,
        'video_list': video_list,
        'meeting': meetings,
        'head': head,
        'background_img': '../images/head_background/header_background.png'
    }

    links = get_site_links()

    bay['site_links'] = []
    for li in range(len(links)):
        #####
        ####
        ###
        try:
            if 0 < len(links[li][4]):
                for l in links[li][4]:
                    if l == city_title:
                        # 分类过滤,有分类信息就显示设置分类的友情链接,没有分类的同理
                        # 首页不带分类信息
                        if len(links[li][5]) == 0:
                            bay['site_links'].append(links[li])
                        break

            else:
                #pass
                #无城市信息就显示没有设置城市的友情链接
                #有城市信息就显示设置有该城市的友情链接
                if not city_title:
                    # 分类过滤,有分类信息就显示设置分类的友情链接,没有分类的同理
                    # 首页不带分类信息
                    if len(links[li][5]) == 0:
                        bay['site_links'].append(links[li])

        except IndexError:
            # 由于get_site_links内部实现改了,所以link[li][4]和link[li][5]不会引发索引越界异常了
            # 这里是不可能到达的
            bay['site_links'].append(links[li])

    #
    bay['list'] = spot.list.showList(request, False, 'all', 'latest', 1)['list'] \
                    + spot.list.showList(request, False, 'all', 'latest', 2)['list']
    for item in bay['list'][:6]:
        item['spot_name'] = item['spot_name'].replace(u'会议报告:', '')

    #
    ############
    # 读取广告
    ############

    ads_pos_1 = get_image_ads(1)
    ads_pos_2 = get_image_ads(2)
    ads_pos_3 = get_image_ads(3)

    def set_url(ia):
        try:
            ia.pic_url = ia.pic.server.name + ia.pic.urls
        except AttributeError:
            if ia.pic is not None:
                ia.pic_url = "http://pic.huodongjia.com/" + ia.pic.urls
            else:
                ia.pic_url = ""

        return ia

    ads_in_1 = map(set_url, ads_pos_1)
    ads_in_2 = map(set_url, ads_pos_2)
    ads_in_3 = map(set_url, ads_pos_3)

    bay['ads1'] = ads_in_1
    bay['ads2'] = ads_in_2
    bay['ads3'] = ads_in_3

    response = render_to_response('home.html',
                                  bay,
                                  context_instance=RequestContext(request))
    '''
    response.set_cookie('city_id',cityObj[0])
    response.set_cookie('city_py',cityObj[2])
    response.set_cookie('city',cityObj[1].encode('utf-8'))
    response['Cache-Control'] = 'max-age=300'
    '''
    return response
示例#6
0
def list(request,city=None,cat=None,date=None,offset=1):
    
    
    #log.debug('get list')
              
    date = request.GET.get('dat')
    offset = request.GET.get('page')
    ''' 
    if not date and not cat:    
        return homePage(request,city)
        #return False
    '''
    ##router to homePage when host/<city> requested
    if not cat and city:
        #if city is a real <city> identifier
        titleDict = NewCity(3)
        if city in titleDict:
            return homePage(request, city)
        #else do nothing
    

    ##if <cat> in meeting -> views.list_page
    cat_url = NewCatUrl()
    meetings = cat_url['meeting']
    business = cat_url['business']
    
    tags_set = ['meeting', 'business']

    for nav in meetings['child']:
        tags_set.append(nav['ename'])
    for nav in business['child']:
        tags_set.append(nav['ename'])
        for nav2 in nav['child']:
            tags_set.append(nav2['ename'])

    #when url is host/<cat> the variable 'city' is <cat>
    if city in tags_set:
        return list_page(request, cat = city)
    if cat in tags_set:
        return list_page(request, city = city, cat = cat)
    ###

    if cat_url.has_key(city):
        cat=city
        city='';
    if not cat: cat = 'all'
    if not date: date = 'latest'
    if not offset: 
        offset = 1 
    else: 
        offset = int(offset)
 
    
    
    listDict = showList(request,city,cat,date,offset)
    
    
    links=get_site_links()
    
    site_link_city=[]
    for li in range(len(links)):
        try:
            if 0 < len(links[li][4]):
                for l in links[li][4]:
                    if l == city:                         
                        site_link_city.append(links[li])
                        break
                    
            else:
                pass
                #listDict['site_links'].append(links[li])
        except:
            pass
            #listDict['site_links'].append(links[li])
    
    site_link_cat=[]
    for li in range(len(site_link_city)):
        try:
            if 0 < len(site_link_city[li][5]):
                for l in site_link_city[li][5]:
                    if str(l) == str(cat):                         
                        site_link_cat.append(site_link_city[li])
                        break
                    
            else:
                pass
                #site_link_cat.append(listDict['site_links'][li])
        except:
            pass
            #site_link_cat.append(listDict['site_links'][li])  
    listDict['site_links']=site_link_cat
    
    #print connection.queries
    return render_to_response('list.html',listDict,context_instance=RequestContext(request))
示例#7
0
def homePage(request,city_title=False):
    #cityId = 45052
    #city_name = u'北京'
    #title = 'beijing'
    if not city_title:
        cityObj=(None, 0, '')
    else:
        cityObj = find_from_city(request,city_title)
    left=event_city_cat(cityObj[0], 69, True)     
    #right=event_city_cat(cityObj[0],(19,70)  )    
    #return render_to_response('base_error.html',{'error_msg':left}) 
    #special_dic_list  = right [:12]
    business_dic_list = left [:12]
    
    '''
    r= len(special_dic_list)-8
    if r<0:  
        rb = event_city_cat(cityObj[0],70  )  
        special_dic_list.extend(rb[:abs(r)] )
        
        
    l= len(business_dic_list)-8
    if l<0:  
        b = event_city_cat(cityObj[0],(19,69)  )  
        business_dic_list.extend(b[:abs(l)] )
        #return render_to_response('base_error.html',{'error_msg':b}) 
    '''
    # 获取视频,按照end_time排序,只取6个
    video = NewEventParagraph.objects.filter(cat_name_id=17543).order_by('-end_time')
    def setUrl(v):
        v.video_url = '/video-' + str(v.id) + '.html'
        return v
    video_list = map(setUrl, video[:7])

    #return render_to_response('base_error.html',{'error_msg':special_dic_list}) 


    head = {'title':u'活动家-亚洲最大的活动网聚合平台-全面、安全、快捷、方便_认准活动家官方网站' ,
            'keywords':u'活动家,网上订票,会议网,活动网,亲子活动,活动,同城活动' ,
            'description':u'活动网为您提供海量会议,公开课,会展,极限运动,当地体验,夜生活,演出折扣票,同城活动查询,特色旅游,门票预订,报名,参加活动,每日发布最新活动,发布活动请上活动家!服务热线:400-003-3879'
            }
    hot_links=get_site_hot_links()
    hot_links_new=[]
    for ev in hot_links:
        try:
            if   datetime.datetime.strptime(ev[5],'%Y-%m-%d %H:%M:%S')<datetime.datetime.now():
                continue 
        except:
            pass
        try:
            if  datetime.datetime.strptime(ev[4],'%Y-%m-%d %H:%M:%S')> datetime.datetime.now():
                continue
        except:
            pass
        #ev[0]='%s%s' % (ev[0],ev[5])
        hot_links_new.append(ev)
    
   
        
    ###########

    def judge(string):
        for c in string:
            if c.isdigit():
                return False
        return True
    
    meetings = NewCatUrl(0,'',True)['business']
    
    i = 0
    length = len(meetings['child'])
    while i < length:
        nav = meetings['child'][i]
        if not judge(nav['caturl']) or meetings['child'][i]['ename'] in ['meeting','training','expo']:
            del  meetings['child'][i]
            #nav['caturl'] += 'del'
            length -= 1
        else:
            i += 1
    ###########

    if city_title:
        cn = cityObj[1]
        head = {'title':u'%s商务会议网_%s同城活动网_%s活动家' % (cn, cn, cn),
            'keywords':u'%s会议网,%s同城活动,%s商务活动,%s活动' % (cn, \
                cn, cn, cn),
            'description':u'找%s会议、活动,上活动家Huodongjia.com!活动家是%s最大商务活动网站,提供%s地区专业商务会议、同城活动的查询与报名服务,涵盖IT、医疗、金融财经、能源化工、农业林业等行业优质商务会议,美食体验、极限运动、亲子活动、娱乐演出等优质同城活动,在线订票,免费发布活动,全面、安全、快捷、方便,认准活动家官方网站!服务热线:400-003-3879' % \
                    (cn, cn, cn)

            }
    else:
        head = {'title':u'活动家-专业商务会议网-亚洲最大活动网站' ,
            'keywords':u'活动网,会议网,商务活动,商务会议,活动家' ,
            'description':u'找会议,上活动家Huodongjia.com!活动家是亚洲最大商务活动网站,提供专业商务会议、同城活动的查询与报名服务,涵盖IT、医疗、金融财经、能源化工、农业林业等行业优质商务会议,美食体验、极限运动、亲子活动、娱乐演出等优质同城活动,在线订票,免费发布活动,全面、安全、快捷、方便,认准活动家官方网站!服务热线:400-003-3879'
            }

    ##########
    bay={'city':cityObj[1],
       'city_id':cityObj[0],
       'city_py':cityObj[2],
       'hot_links':hot_links_new[:5],
       #'special_list':special_dic_list,
       'business_list':business_dic_list,
       'video_list': video_list,
       'meeting': meetings,

       'head':head,
       'background_img':'../images/head_background/header_background.png'}
    
    links=get_site_links()
    
    bay['site_links']=[]
    for li in range(len(links)):
        #####
        ####
        ###
        try:
            if 0 < len(links[li][4]):
                for l in links[li][4]:
                    if l == city_title:
                        bay['site_links'].append(links[li])
                        break
                    
            else:
                #pass
                #无城市信息就显示没有设置城市的友情链接
                #有城市信息就显示设置有该城市的友情链接
                if not city_title:
                    bay['site_links'].append(links[li])
        except:
            #pass
            bay['site_links'].append(links[li])
    
    #
    bay['list'] = spot.list.showList(request, False, 'all', 'latest', 1)['list'] \
                    + spot.list.showList(request, False, 'all', 'latest', 2)['list']
    for item in bay['list'][:6]:
        item['spot_name'] = item['spot_name'].replace(u'会议报告:', '')
         
    #
    ############
    # 读取广告
    ############
    
    ads_pos_1 = get_image_ads(1)
    ads_pos_2 = get_image_ads(2)
    ads_pos_3 = get_image_ads(3)
    def set_url(ia):
        try:
            ia.pic_url = ia.pic.server.name + ia.pic.urls
        except AttributeError:
            if ia.pic is not None:
                ia.pic_url = "http://pic.huodongjia.com/" + ia.pic.urls
            else:
                ia.pic_url = ""

        return ia
    
    ads_in_1 = map(set_url, ads_pos_1)
    ads_in_2 = map(set_url, ads_pos_2)
    ads_in_3 = map(set_url, ads_pos_3)
    
    bay['ads1'] = ads_in_1
    bay['ads2'] = ads_in_2
    bay['ads3'] = ads_in_3
    
    response = render_to_response('home.html',bay,
                                           context_instance=RequestContext(request))
    '''
    response.set_cookie('city_id',cityObj[0])
    response.set_cookie('city_py',cityObj[2])
    response.set_cookie('city',cityObj[1].encode('utf-8'))
    response['Cache-Control'] = 'max-age=300'
    '''
    return response
示例#8
0
def list_page(request, city=None, cat='meeting', month=None, offset=1):
    '''
    cal_flag: return list or calendar
    lead_cat: all the filtering is under this lead_cat category
    city, cat, month : filter the data by this city, category, month
    blank_page_flag: return blank page, if necessary
    '''

    #####################
    if cat == 'meeting':
        cat = 'business'
    #####################

    cal_flag = request.GET.get('cal')
    if cal_flag: cal_flag = 1

    #lead_cat = 'meeting'
    lead_cat = 'business'

    new = False
    if request.GET.get('db') and request.user.is_authenticated():
        new = True

    blank_page_flag = False

    month_int = 0
    if month:
        if month.isdigit():
            month_int = int(month)
        else:
            #return redirect(reverse('new_event.showlist.list', kwargs={'city':city, 'cat':cat}))
            raise Http404

        if int(month) not in range(1, 13):
            raise Http404
            #month_int = 0
            #month = None
            #return redirect(reverse('rd_page', kwargs={'city':city, 'cat':cat}))

    #in the calendar page, no 'all' option for month selection
    if cal_flag and month_int == 0:
        raise Http404

    #if month before the current, then it means the month of next year
    today = datetime.date.today()
    if month_int == 0:
        date_in = ''
    else:
        date_in = datetime.date(
            today.year + 1 if month_int < today.month else today.year,
            month_int, 1)

    #month = str(month).zfill(2)

    #if city not in the city-dataset or != 'city', raise 404
    city_title_dict = NewCity(3)
    if not city:
        city_info = (0, u'不限', '')
    elif city_title_dict.has_key(city):
        city_info = city_title_dict[city]
    else:
        raise Http404
        #blank_page_flag = True

    #get all cats by city
    #if cat not in the lead-cats-dataset or != lead_cat, return empty
    cat_ename_dict = NewCatUrl(0, '', new=new)
    cat_ename_list = []
    seo_dict = {}
    if cat_ename_dict.has_key(lead_cat):
        #to include category itself and its children
        cat_ename_list += [cat_ename_dict[lead_cat]] + \
                filter(lambda x: x['ename'] not in ['meeting','training','expo'],
                        cat_ename_dict[lead_cat]['child'])
        try:
            seo_dict = cat_ename_dict[cat]['seo']
        except KeyError:
            pass
    else:
        #raise Http404
        blank_page_flag = True

    cat_id = 0
    if cat not in [i['ename'] for i in cat_ename_list]:
        raise Http404
        #cat = lead_cat

    cat_id = cat_ename_dict[cat]['id']

    #get all tags by cats (how to by cities & cats)
    tag_name = request.GET.get('tag')
    #tag_name is None not in the url
    #set it to '' for the further usage
    if not tag_name:
        tag_name = ''
    else:
        tag_name.encode('utf-8')

    tag_id = 0  #default

    #get all tags under the category
    tag_name_id_dict = {}
    if cat_ename_dict.has_key(cat):
        for i in cat_ename_dict[cat]['tag']:
            if i.has_key('id') and i.has_key('name'):
                tag_name_id_dict[i['name']] = i['id']
    else:
        #blank_page_flag = True
        tag_name = ''

    if tag_name:
        if tag_name_id_dict.has_key(tag_name):
            tag_id = tag_name_id_dict[tag_name]
        else:
            #pass
            tag_name = ''
            #blank_page_flag = True

    offset_str = request.GET.get('page')
    if offset_str:
        try:
            offset = int(offset_str)
            if offset < 1:
                offset = 1
        except TypeError:
            offset = 1

    listDict = {}

    #BreadcrumbNavigation
    listDict['bn_title'] = ''
    if date_in:
        listDict['bn_title'] += month_int2ch(date_in.month)
    if city:
        listDict['bn_title'] += city_info[1]
    if tag_name:
        listDict['bn_title'] += tag_name
        listDict['bn_title'] += u'会议'
    else:
        if cat != lead_cat:
            listDict['bn_title'] += cat_ename_dict[cat]['catname']
        else:
            if listDict['bn_title']:
                listDict['bn_title'] += u'会议'

    ######################
    #info of current page#
    ######################
    listDict['current_city'] = city_info[1]
    #cat == '' indicates the cat_ename_dict is empty
    listDict['current_cat'] = cat_ename_dict[cat][
        'catname'] if cat != lead_cat and cat else u'不限'
    listDict['current_month'] = month_int2ch(month_int)
    listDict['current_tag'] = tag_name if tag_name else u'不限'

    ###############
    #advertisement#
    ###############
    ads = get_image_ads(4)
    listDict['ads'] = map(set_ads_img_url, ads)

    ###############
    #friendly link#
    ###############
    links = get_site_links(new)
    if city:
        links = filter(lambda x: city in x[4], links)
    else:
        links = filter(lambda x: not len(x[4]), links)
    if cat != lead_cat:
        links = filter(lambda x: cat in x[5], links)
    else:
        links = filter(lambda x: not len(x[5]), links)

    listDict['site_links'] = links

    ################
    #filter options#
    ################
    #do not include 'page='
    url_tail = [['tag', quote(tag_name.encode('utf-8'))], ['cal', cal_flag]]
    url_tail_for_cat = [['cal', cal_flag]]

    #nu:name,url
    listDict['city_nu'] = move_to_n_first(
        list_get_city_ch_py_url(lead_cat, cat, month, url_tail, new),
        city_info[0], 1)

    listDict['cat_nu'] = list_get_cat_ch_py_url(lead_cat, cat_ename_list, city,
                                                month, url_tail_for_cat, new)

    listDict['month_nu'] = list_get_month_ch_py_url(lead_cat, cat, city,
                                                    today.year, today.month,
                                                    url_tail, new)

    listDict['tag_nu'] = move_to_n_first(
        list_get_tag_ch_py_url(lead_cat, cat, city, month, tag_name_id_dict,
                               [['cal', cal_flag]], new), tag_id, 1)

    #####
    #seo#
    #####
    if city_info[0]:
        html_head_city = city_info[1]
    else:
        #html_head_city = ','.join([i[1] for i in city_title_dict.values()])
        html_head_city = u''

    if cat == lead_cat:
        html_head_cat = ','.join([i['ename'] for i in cat_ename_list])
    else:
        html_head_cat = cat_ename_dict[cat]['ename']

    if month_int:
        html_head_date = u'%s年%s月' % (date_in.year, date_in.month)
    else:
        html_head_date = u'最新'

    if tag_name and cat != lead_cat:
        #html_head_tag = ','.join(tag_name_id_dict.keys())
        html_head_tag = tag_name
    else:
        html_head_tag = ''

    listDict['head'] = get_list_cal_head(seo_dict,
                                         html_head_city,
                                         html_head_cat,
                                         html_head_date,
                                         html_head_tag,
                                         cal=cal_flag,
                                         new=new)

    ##################
    #list or calendar#
    ##################
    listDict['cal_flag'] = cal_flag

    if cal_flag:
        #remove 'all' option for month-selection in the calendar page
        listDict['month_nu'] = listDict['month_nu'][1:]

        listDict['year'] = date_in.year
        listDict['month'] = date_in.month

        u_tail = ''
        if tag_name:
            u_tail = '?tag=' + quote(tag_name.encode('utf-8'))
        listDict['switch_link'] = '/' + join_advanced([city, cat, month]) \
                                + '/' + u_tail
        listDict['calendar_table'] = calendar_page(cat, city_info, date_in,
                                                   tag_id, new)
        listDict['reset_link'] = '/' + join_advanced(
            [lead_cat, str(today.month).zfill(2) + '?cal=1'])

    else:
        if tag_name:
            u_tail = '?tag=' + quote(tag_name.encode('utf-8')) + '&cal=1'
        else:
            u_tail = '?cal=1'

        if month:
            listDict['switch_link'] = '/' + join_advanced([city, cat, month]) \
                                    + '/' + u_tail
        else:
            listDict['switch_link'] = '/' + join_advanced([city, cat, str(today.month).zfill(2)]) \
                                    + '/' + u_tail

        listDict['reset_link'] = '/' + lead_cat + '/'

        ##############
        #right column#
        ##############
        listDict['right_news'] = list_get_right_news(today, new)
        listDict['right_news_more'] = '/spot/'

        listDict['right_video'] = list_get_right_video(today, new)
        listDict['right_video_more'] = '/video/'

        listDict['right_top10'] = event_city_cat('', 69)[:10]

        #do not raise 404
        if blank_page_flag:
            return render(request, 's_list.html', listDict)

        #the amount of the events

        count = get_event_list_by_ccdt(cat=cat,
                                       city=city_info,
                                       date=date_in,
                                       page=False,
                                       offset=False,
                                       order='',
                                       new=new,
                                       tag_id=tag_id)

        count = count if count else 0

        perpage = 12
        pages = count / perpage
        if 0 != (count % perpage): pages = pages + 1
        if offset > pages: offset = pages

        listDict.update(
            show_list(request, city_info, cat, date_in, tag_id, perpage,
                      offset, new))

        listDict['firstPage'],listDict['lastPage'],listDict['prePage'],listDict['nextPage'],listDict['pageList'] \
                = list_page_url(city,cat,month,tag_name,pages,offset)

    return render(request, 's_list.html', listDict)
示例#9
0
文件: views.py 项目: sureboy/xiaorizi
def site_links(request):
    title = request.COOKIES.get('city_py', '')
    city_name = request.COOKIES.get('city', '')
    head = {'title':u'友情链接_活动家',
        'keywords':u'友情链接,活动家',
        'description':u'这里是活动家的友情链接页面,欢迎活动、会议、旅游、娱乐相关行业与本站进行友链交换,请联系QQ:3062279918'
        }
 
    return render_to_response('site_links.html',{'city':city_name,'city_py':title,'site_links':get_site_links(),'head':head},context_instance=RequestContext(request))