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)
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)
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)
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())
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)
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)
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)
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)
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())