爱家(租房系统)---- 房源详细信息(提供预定接口)

前端请求

获取请求图片信息,通过切片处理得到图片id,进行字符串拼接后作为请求地址的一部分向后台提出请求。得到后台传递的数据后,先遍历图片信息,做一个房屋图片轮播图的效果。在依次加载房屋其它信息,并逐一渲染至页面。最后判断此房屋是否为该用户所有,若是则隐藏预定按钮,若不是则展示预定按钮。

$.get('/house/detail/', function(data){
    var search = document.location.search
    id = search.split('=')[1]
    $.get('/house/detail/' + id + '/', function(data){
        var banner_image = ''
        console.log(data.house)
        for(var i=0; i'
            banner_image += banner_li
        }
        $('.swiper-wrapper').html(banner_image)

        var mySwiper = new Swiper ('.swiper-container', {
            loop: true,
            autoplay: 2000,
            autoplayDisableOnInteraction: false,
            pagination: '.swiper-pagination',
            paginationType: 'fraction'
        })

        $('.house-price').html('¥' + data.house.price + '/晚')

        $('.house-info-address').html(data.house.address)

        $('.house-title').html(data.house.title)

        $('.landlord-name').html('房东: ' + data.house.user_name + '')

        $('.landlord-pic').html('')

        $('.house-type-detail').html('

出租' + data.house.room_count + '

房屋面积:' + data.house.acreage + '平米

房屋户型:' + data.house.unit + '

') $('.house-capacity').html('

宜住' + data.house.capacity + '人

') $('.house-bed').html('

卧床配置

' + data.house.beds + '

') var house_info_style = '
  • 收取押金' + data.house.deposit + '
  • ' house_info_style += '
  • 最少入住天数' + data.house.min_days + '
  • ' house_info_style += '
  • 最多入住天数' + data.house.max_days + '
  • ' $('.house-info-style').html(house_info_style) var house_facility_list = '' for(var i=0; i' + data.facility_list[i].name + '' } $('.house-facility-list').html(house_facility_list) $('.book-house').attr('href', '/house/booking/?id=' + data.house.id) //判断是否显示预订按钮 if(data.booking==1){ $(".book-house").show(); }else{ $(".book-house").hide(); } }); });

    后台处理

    收到来自前端的请求后,根据传回来的图片id查询数据库中该id的房屋信息,并判断该房屋是否为该用户所有,并将结果返回给前端。

    @house_blueprint.route('/detail/')
    def detail():
        return render_template('detail.html')
    
    
    @house_blueprint.route('/detail//')
    def house_detail(id):
        # 查询房屋信息
        house = House.query.get(id)
        # 查询设施信息
        facility_list = house.facilities
        facility_dict_list = [facility.to_dict() for facility in facility_list]
        # 判断当前房屋信息是否为当前登录的用户发布,如果是则不显示预订按钮
        booking = 1
        if 'user_id' in session:
            if house.user_id == session['user_id']:
                booking = 0
    
        return jsonify(house=house.to_full_dict(), facility_list=facility_dict_list, booking=booking)
    
    

    你可能感兴趣的:(爱家(租房系统)---- 房源详细信息(提供预定接口))