예제 #1
0
def check_hot(request):
    G_data = myAPI.load_data(G_dir)
    hot_list = Hot_attraction.objects.all().order_by('hot_rank')[:36]
    Attraction_list = []
    for item in hot_list:
        attractionName = item.attraction_name
        print(attractionName)
        Attraction = myAPI.search_by_name_exactly(attractionName)
        #print('test:'+str(Attraction))
        if Attraction:
            Attraction_list.append(Attraction)
    List = Attraction_list
    print(List)
    paginator = Paginator(List, 8)
    page = request.GET.get('page', 1)
    try:
        print(page)
        list = paginator.page(page)  # 获取当前页码的记录
    except PageNotAnInteger:
        list = paginator.page(1)  # 如果用户输入的页码不是整数时,显示第1页的内容
    except EmptyPage:
        list = paginator.page(
            paginator.num_pages)  # 如果用户输入的页数不在系统的页码列表中时,显示最后一页的内容
    context = {'list': list, 'data': G_data, 'checkingHot': True, 'skipTo': 3}
    return render(request, 'html/result.html', context)
예제 #2
0
def attraction_detail(request):
    name = request.GET.get('attractionName', None)
    location = request.GET.get('attractionLocation', None)
    #List, Scores = myAPI.search_by_name_location(name)

    attraction = myAPI.search_by_name_exactly(name)
    G_data = myAPI.load_data(G_dir)
    collected = False
    if request.session.get('is_login'):
        username = request.session.get('user_name')
        records = Collect.objects.filter(user_name__exact=username,
                                         attraction_name__exact=name)
        if records:
            collected = True
    pinyin = ''
    # if List['0']['city']:
    #     pinyin = myAPI.getPinyin(List[0]['city'])
    # print(pinyin)
    # pictures=List[0]['picture']
    if attraction['city']:
        pinyin = myAPI.getPinyin(attraction['city'])
    print(pinyin)
    pictures = attraction['picture']
    print(pictures)
    # pictures=json.loads(pictures)
    context = {
        'Attraction': attraction,
        'collected': collected,
        'pictures': pictures,
        'pinyin': pinyin,
        'data': G_data
    }
    #print(pictures)
    return render(request, 'html/attraction.html', context)
예제 #3
0
def search(request):
    is_login = request.session.get('is_login', None)
    userName = request.session.get('user_name', None)
    search_field = request.GET.get('search_field', None)
    G_data = myAPI.load_data(G_dir)

    print(search_field)

    if search_field != '':
        List, Scores, msg = myAPI.search(search_field)
    else:
        List, Scores, msg = [], [], ''
    for l in List:
        print(l['name'] + '  ' + l['location'] + ' ' + l['feature'])
    #print(List)
    paginator = Paginator(List, 12)
    page = request.GET.get('page', 1)
    try:
        #print(page)
        list = paginator.page(page)  # 获取当前页码的记录
    except PageNotAnInteger:
        list = paginator.page(1)  # 如果用户输入的页码不是整数时,显示第1页的内容
    except EmptyPage:
        list = paginator.page(
            paginator.num_pages)  # 如果用户输入的页数不在系统的页码列表中时,显示最后一页的内容
    context = {
        'list': list,
        'Scores': Scores,
        'msg': msg,
        'skipTo': 1,
        'search_field': search_field,
        'data': G_data
    }
    if search_field != '' and is_login:
        is_search = Search_record.objects.filter(
            user_name__exact=userName, search_field__exact=search_field)
        print(bool(is_search))
        if is_search:
            is_search.update(timestamp=datetime.datetime.now().strftime(
                '%Y-%m-%d %H:%M:%S'))
        else:
            new_record = Search_record(
                user_name=userName,
                search_field=search_field,
                timestamp=datetime.datetime.now().strftime(
                    '%Y-%m-%d %H:%M:%S'))
            new_record.save()
    return render(request, 'html/result.html', context)
예제 #4
0
def login(request):
    data = myAPI.load_data(G_dir)
    if request.session.get('is_login', None):
        return redirect('/')
    if request.method == "POST":
        username = request.POST['login_username']
        password = request.POST['login_password']
        checkpass = User.objects.filter(username__exact=username,
                                        password__exact=password)
        if checkpass:
            request.session['is_login'] = True
            request.session['user_name'] = username
            print("login success")
            return redirect('/home', locals())
        else:
            message = '用户不存在或密码错误!'
            return HttpResponse(message)
    return render(request, 'html/login2.html', locals())
예제 #5
0
def get_city(request):
    data = myAPI.load_data(G_dir)
    if request.is_ajax():
        print("前端发起ajax请求---get-city")
        province = request.GET['province']
        CITY = []
        for item in data:
            if item['name'] == province:
                cityList = item['cityList']
                for city in cityList:
                    CITY.append(city['name'])
                break
        print(CITY)
        print(province)
        #ret=data[]
        ret = CITY
        print(json.dumps(ret))
        return HttpResponse(json.dumps(ret))
    context = {'data': data}
    return render(request, 'html/home.html', context)
예제 #6
0
def get_area(request):
    data = myAPI.load_data(G_dir)
    if request.is_ajax():
        print("前端发起ajax请求---get-area")
        current_province = request.GET['currentProvince']
        city = request.GET['city']
        AREA = []
        for p in data:
            if p['name'] == current_province:
                cityList = p['cityList']
                for c in cityList:
                    if c['name'] == city:
                        areaList = c['areaList']
                        for a in areaList:
                            AREA.append(a['name'])
        print(AREA)
        #ret=data[]
        ret = AREA
        return HttpResponse(json.dumps(ret))
    context = {'data': data}
    return render(request, 'html/home.html', context)
예제 #7
0
def search_by_area(request):
    G_data = myAPI.load_data(G_dir)
    area_field = request.GET.get('area-field', None)
    List, Scores, msg = myAPI.search_by_area(area_field)
    paginator = Paginator(List, 12)
    page = request.GET.get('page', 1)
    try:
        #print(page)
        list = paginator.page(page)  # 获取当前页码的记录
    except PageNotAnInteger:
        list = paginator.page(1)  # 如果用户输入的页码不是整数时,显示第1页的内容
    except EmptyPage:
        list = paginator.page(
            paginator.num_pages)  # 如果用户输入的页数不在系统的页码列表中时,显示最后一页的内容
    context = {
        'list': list,
        'area_field': area_field,
        'searchingArea': True,
        'skipTo': 0,
        'msg': msg,
        'data': G_data
    }
    return render(request, 'html/result.html', context)
예제 #8
0
def check_all(request):
    G_data = myAPI.load_data(G_dir)
    List, Scores, msg = myAPI.search_all()
    paginator = Paginator(List, 12)
    page = request.GET.get('page', 1)
    try:
        print(page)
        list = paginator.page(page)  # 获取当前页码的记录
    except PageNotAnInteger:
        list = paginator.page(1)  # 如果用户输入的页码不是整数时,显示第1页的内容
    except EmptyPage:
        list = paginator.page(
            paginator.num_pages)  # 如果用户输入的页数不在系统的页码列表中时,显示最后一页的内容
    context = {
        'list': list,
        'Scores': Scores,
        'checkingAll': True,
        'skipTo': 2,
        'msg': msg,
        'data': G_data
    }
    #print("测试")
    #print(List)
    return render(request, 'html/result.html', context)
예제 #9
0
def index(request):
    request.session.set_expiry(0)
    request.session['collected'] = False
    data = myAPI.load_data(G_dir)
    return render(request, 'html/home2.html', locals())