コード例 #1
0
ファイル: user.py プロジェクト: PalaChen/sdy
def order_query(request, id):
    default_city = request.session.get('default_city')
    user_dict = user_info(request)
    phone = user_dict['phone']
    id = int(id)
    counts_dict = order_counts(phone)

    if id == 1:
        order_obj = models.Orders.objects.filter(
            phone=phone, order_state=0).order_by('-ctime').all()
    elif id == 5:
        order_obj = models.Orders.objects.filter(
            phone=phone, order_state=1).order_by('-ctime').all()
    elif id == 15:
        order_obj = models.Orders.objects.filter(
            phone=phone, order_state=2).order_by('-ctime').all()
    elif id == 25:
        order_obj = models.Orders.objects.filter(
            phone=phone, order_state=3).order_by('-ctime').all()
    else:
        return redirect(reverse('user_index'))
    return render(
        request, 'user/order.html', {
            'title': title['order'],
            'user_info': user_dict,
            'order_obj': order_obj,
            'counts_dict': counts_dict,
            'city_obj': city_obj,
            'id': id,
            'default_city': default_city,
        })
コード例 #2
0
ファイル: user.py プロジェクト: PalaChen/sdy
def recmomend(request):
    default_city = request.session.get('default_city')
    error = ''
    user_dict = user_info(request)
    form_obj = UserRecommendForm(request.POST or None)

    if request.method == 'POST':
        if form_obj.is_valid():
            data = form_obj.cleaned_data
            user_obj = models.Users.objects.filter(
                phone=data['phone']).filter()
            if not user_obj:
                data['type'] = 1
                data['business'] = str(request.POST.getlist('business'))
                data['recommend_id'] = user_dict['id']
                models.UserRecommend.objects.create(**data)
                return redirect('user_index')
            else:
                error = '非常抱歉,该手机号码已注册'
        else:
            error = list(form_obj.errors.values())[0][0]

    context = {
        'default_city': default_city,
        'user_info': user_dict,
        'title': title['recmomend'],
        'error': error,
        'form_obj': form_obj,
        'city_obj': city_obj,
    }

    return render(request, 'user/recommend.html', context)
コード例 #3
0
def pacakage_index(request, id):
    is_login = request.session.get('is_login')
    user_dict = user_info(request)
    default_city = request.session['default_city']
    city_obj = models.RegionalManagement.objects.filter(
        Q(r_code__isnull=False)).all()
    package_obj = models.Package.objects.filter(
        id=id, status=1, area_id=default_city['area_id']).first()
    nav_list = models.IndexNav.objects.order_by('-weight').values(
        'name', 'url', 'ishot')[0:7]
    # 商品详情页左侧推信息
    category_obj = models.ProductCategory.objects.filter(
        Q(parent_id__gt=0)).all()
    products_obj = models.Products.objects.filter(
        area_id=default_city['area_id']).all()
    d = {
        'package_obj': package_obj,
        'nav_list': nav_list,
        'is_login': is_login,
        'user_info': user_dict,
        'city_obj': city_obj,
        'default_city': default_city,
        'category_obj': category_obj,
        'products_obj': products_obj,
    }
    return render(request, 'product/package_index.html', d)
コード例 #4
0
ファイル: account.py プロジェクト: PalaChen/sdy
def register(request):
    """
    注册
    :param req:
    :return:
    """
    user_dict = user_info(request)
    default_city = request.session.get('default_city')
    form_obj = account.RegisterForm(request.POST or None)
    if request.method == 'POST':
        if form_obj.is_valid():
            data = form_obj.cleaned_data
            form_obj, res = register_generate(data, request, form_obj,
                                              'reister')
            if not res:
                res_obj = model_add.Add_info(models.Users, data)
                if res_obj:
                    request.session['user_info'] = {
                        'phone': res_obj.phone,
                        'id': res_obj.id,
                        'name': res_obj.name
                    }
                    request.session['is_login'] = '******'
                    return redirect(reverse('web_index'))
                else:
                    form_obj.errors['phone'] = [
                        '手机号码已存在',
                    ]
    return render(
        request, 'register.html', {
            'form': form_obj,
            'default_city': default_city,
            'user_info': user_dict,
            'city_obj': city_obj,
        })
コード例 #5
0
ファイル: user.py プロジェクト: PalaChen/sdy
def index(request):
    default_city = request.session.get('default_city')
    user_dict = user_info(request)
    counts_dict = order_counts(user_dict['phone'])
    return render(
        request, 'user/user_index.html', {
            'title': title['index'],
            'user_info': user_dict,
            'counts_dict': counts_dict,
            'city_obj': city_obj,
            'default_city': default_city,
        })
コード例 #6
0
def index(req, id):
    """
    产品页面
    :param req:
    :param id: 产品id
    :return:
    """
    is_login = req.session.get('is_login')
    user_dict = user_info(req)
    default_city = req.session.get('default_city')
    product_obj = models.Products.objects.filter(
        id=id, area_id=default_city['area_id']).first()
    if not product_obj:
        product_obj = get_object_or_404(models.Products, id=id)
        default_city = {
            'city_id': product_obj.city_id,
            'city': product_obj.city.name,
            'area_id': product_obj.area_id
        }
        req.session['default_city'] = default_city

    if product_obj.p_service:
        service = get_object_or_404(models.ProductService,
                                    id=product_obj.p_service_id)
        service_obj = models.ProductService.objects.filter(
            root_id=service.root_id).all()
    else:
        service_obj = ''
    # 城市列表
    city_obj = models.RegionalManagement.objects.filter(
        Q(r_code__isnull=False)).all()
    # 导航
    nav_list = models.IndexNav.objects.order_by('-weight').values(
        'name', 'url', 'ishot')[0:7]
    cate_list = get_cate_list()
    # 商品详情页左侧推信息
    category_obj = models.ProductCategory.objects.filter(
        Q(parent_id__gt=0)).all()
    products_obj = models.Products.objects.filter(
        area_id=default_city['area_id']).all()
    return render(
        req, 'product/index2.html', {
            'product_obj': product_obj,
            'cate_list': cate_list,
            'nav_list': nav_list,
            'is_login': is_login,
            'user_info': user_dict,
            'city_obj': city_obj,
            'default_city': default_city,
            'category_obj': category_obj,
            'products_obj': products_obj,
            'service_obj': service_obj
        })
コード例 #7
0
ファイル: index.py プロジェクト: PalaChen/sdy
def index(request):
    user_dict = user_info(request)
    default_city = request.session.get('default_city')
    title = '盛德业,注册公司,代理记账,佛山商标注册,佛山公司注册,顺德注册公司,佛山创业法律服务,佛山记账报税,广东佛山肇庆江门中山韶关公司注册'
    description = '盛德业公司是一家以广东公司注册,佛山注册公司,佛山工商注册,佛山代理记账,佛山财税咨询,佛山商标注册专项审批为核心业务,为企事业单位提供相关咨询服务的一站式专业服务机构,我公司服务周到,收费合理,热忱欢迎新老客户,来人来电,咨询合作,盛德业统一客服热线4008813338!'
    keywords = '公司注册,佛山注册公司,佛山记账报税,佛山代理记账,佛山工商注册,佛山商标注册,顺德公司注册,顺德注册公司,南海公司注册,南海注册公司,禅城公司注册,佛山代办执照,顺德代办营业执照,佛山注册公司流程,佛山进出口退税,佛山食品经营许可证'
    is_login = None
    if request.method == 'GET':
        bxSlider = models.Bxslider.objects.filter(
            status=1).order_by('weight').all()
        articles_list = models.Articles.objects.order_by('-ctime').values(
            'id', 'category_id', 'title')[4:10]
        articles_images_obj = models.Articles.objects.filter(
            is_top=0).order_by('-ctime')[0:4]
        nav_list = models.IndexNav.objects.order_by('-weight').values(
            'name', 'url', 'ishot')[0:7]
        city_obj = models.RegionalManagement.objects.filter(
            Q(r_code__isnull=False)).all()
        if default_city['area_id']:
            packages_obj = models.Package.objects.filter(
                status=1,
                area_id=default_city['area_id']).order_by('weight')[0:3]
        else:
            packages_obj = None
        # 推荐产品列表
        recommend_obj = models.Products.objects.filter(
            p_top=1).order_by('-p_ctime')[0:9]
        ad_obj = models.Banner.objects.filter(status=1).order_by('position')
        cate_list = get_cate_list()
        cookie = request.COOKIES
        is_login = request.session.get('is_login')
        from django.template import loader
        # content = loader.render_to_string('user/user_index.html')
        # print(content)
        d = {
            'bxSlider': bxSlider,
            'cate_list': cate_list,
            'cookie': cookie,
            'is_login': is_login,
            'nav_list': nav_list,
            'articles_list': articles_list,
            'user_info': user_dict,
            'city_obj': city_obj,
            'articles_images_obj': articles_images_obj,
            'default_city': default_city,
            'title': title,
            'description': description,
            'keywords': keywords,
            'recommend_obj': recommend_obj,
            'packages_obj': packages_obj,
            'ad_obj': ad_obj
        }
        return render(request, 'index.html', d)
コード例 #8
0
ファイル: user.py プロジェクト: PalaChen/sdy
def recmomend_detail(request):
    default_city = request.session.get('default_city')
    user_dict = user_info(request)
    recommend_obj = models.UserRecommend.objects.filter(
        recommend_id=user_dict['id'])
    context = {
        'default_city': default_city,
        'user_dict': user_dict,
        'title': title['recmomend_detail'],
        'recommend_obj': recommend_obj,
    }
    return render(request, 'user/recommend_detail.html', context)
コード例 #9
0
ファイル: user.py プロジェクト: PalaChen/sdy
def coupon_used(request):
    default_city = request.session.get('default_city')
    user_dict = user_info(request)
    user_dict['coupon_link'] = 2
    coupon_obj = models.Coupon2User.objects.filter(user_id=user_dict['id'],
                                                   used=1)
    context = {
        'default_city': default_city,
        'title': title['coupon'],
        'user_info': user_dict,
        'coupon_obj': coupon_obj,
    }
    return render(request, 'user/coupon_index.html', context)
コード例 #10
0
ファイル: user.py プロジェクト: PalaChen/sdy
def edit_phone(request):
    default_city = request.session.get('default_city')
    form = EditPhoneForm(request.POST or None)
    user_dict = user_info(request)
    phone = user_dict['phone']

    if request.method == 'POST':
        if form.is_valid():
            new_phone = request.POST.get('phone')
            password = request.POST.get('password')
            verify_code = request.POST.get('verify_code')
            verify_info = \
                models.MessagesVerifyCode.objects.filter(m_phone=phone, ).values_list('m_verifycode',
                                                                                      'm_send_date').order_by(
                    '-m_send_date').first()
            user_obj = models.Users.objects.filter(phone=phone,
                                                   password=password).first()
            if user_obj and verify_info:
                if int(verify_code) == verify_info[0]:
                    if (timezone.now() - verify_info[1]).seconds <= 1800:
                        phone_info = models.Users.objects.filter(
                            phone=new_phone).first()
                        if not phone_info:
                            models.Users.objects.filter(phone=phone).update(
                                phone=new_phone)
                            res_dict['message'] = '修改手机号码成功'
                        else:
                            res_dict['message'] = '该手机号码已被使用'
                    else:
                        res_dict['message'] = '验证码超时,请重新获取'
                else:
                    res_dict['message'] = '验证码输入错误,请重新输入'
            else:
                res_dict['message'] = '非法操作'
        else:
            res_dict['message'] = list(form.errors.values())[0][0]
        res_dict['status'] = False
        return JsonResponse(res_dict)

    return render(
        request, 'user/edit_phone.html', {
            'title': title['edit_phone'],
            'default_city': default_city,
            'user_info': user_dict,
            'city_obj': city_obj,
        })
コード例 #11
0
def cart(request):
    """
    购物车
    :param request:
    :return:
    """
    if request.method == 'POST':
        result_dict = {'status': 200, 'message': None, 'data': None}
        shop_list = product_method.productPackage_info(request)
        if shop_list:
            request.session['shop_list'] = shop_list
            result_dict['status'] = 200
            result_dict['url'] = '/cart.html'
        # product_method.shop_list_append(package_obj, product_dict, shop_list)
        else:
            result_dict['status'] = False
            result_dict['message'] = '请求非法数据'
        return JsonResponse(result_dict)

    else:
        default_city = request.session.get('default_city')
        user_dict = user_info(request)
        is_login = request.session.get('is_login')
        shop_list = product_method.cart_info(request)

        # print(user_info['id'])
        coupon_obj = models.Coupon2User.objects.filter(user_id=user_dict['id'])
        # print(shop_list)

        request.session['shop_list'] = shop_list
        if shop_list:
            user_dict['shop_number'] = len(shop_list['product'])
        else:
            user_dict['shop_number'] = 0
        # print('user_info.shop_number-->', user_info['shop_number'])
        context = {
            'shop_list': shop_list,
            'user_info': user_dict,
            'is_login': is_login,
            'default_city': default_city,
            'coupon_obj': coupon_obj,
            'city_obj': city_obj,
            'title': title_dict['cart']
        }
        return render(request, 'shop/index.html', context)
コード例 #12
0
ファイル: news.py プロジェクト: PalaChen/sdy
def author(request, author_id):
    default_city = request.session.get('default_city')
    is_login = request.session.get('is_login')
    user_dict = user_info(request)
    articles_obj = models.Articles.objects.filter(
        author_id=author_id).order_by('-ctime')
    posts = paginator(request, articles_obj)
    author_obj = models.Author.objects.filter(id=author_id).first()
    return render(
        request, 'news/news_author.html', {
            'posts': posts,
            'hot_articles_obj': hot_articles_obj,
            'is_login': is_login,
            'user_info': user_dict,
            'city_obj': city_obj,
            'default_city': default_city,
            'author_obj': author_obj
        })
コード例 #13
0
ファイル: account.py プロジェクト: PalaChen/sdy
def forgetpass(request):
    default_city = request.session.get('default_city')
    user_dict = user_info(request)
    form_obj = account.ForgetPassForm(request.POST or None)
    if request.method == 'POST':
        if form_obj.is_valid():
            data = form_obj.cleaned_data
            form_obj, res = register_generate(data, request, form_obj,
                                              'forgetpass')
            if not res:
                return render(request, 'forgetpass_2.html')
    return render(
        request, 'forgetpass.html', {
            'form': form_obj,
            'default_city': default_city,
            'user_info': user_dict,
            'city_obj': city_obj
        })
コード例 #14
0
ファイル: user.py プロジェクト: PalaChen/sdy
def order(request):
    default_city = request.session.get('default_city')
    user_dict = user_info(request)
    if user_dict.get('phone'):
        order_obj = models.Orders.objects.filter(
            phone=user_dict['phone']).order_by('-ctime').all()
        counts_dict = order_counts(user_dict['phone'])
        return render(
            request, 'user/order.html', {
                'order_obj': order_obj,
                'user_info': user_dict,
                'counts_dict': counts_dict,
                'city_obj': city_obj,
                'title': title['order'],
                'id': 0,
                'default_city': default_city,
            })
    else:
        return redirect('login')
コード例 #15
0
ファイル: account.py プロジェクト: PalaChen/sdy
def login(req):
    form = account.LoginForm(req.POST or None)
    user_dict = user_info(req)
    error = ''
    default_city = req.session.get('default_city')
    if req.method == 'POST':
        form = account.LoginForm(req.POST)
        if form.is_valid():
            phone = req.POST.get('phone')
            password = req.POST.get('password')
            user_obj = models.Users.objects.filter(phone=phone).values(
                'id', 'name', 'password').first()
            if user_obj:
                # print(user_obj)
                # print(user_obj['password'])
                if user_obj['password'] == password:
                    ret = redirect(reverse('web_index'))
                    ret.set_cookie('user',
                                   phone,
                                   max_age=3600,
                                   expires=datetime.datetime.utcnow() +
                                   datetime.timedelta(5))
                    req.session['user_info'] = {
                        'phone': phone,
                        'id': user_obj['id'],
                        'name': user_obj['name']
                    }
                    req.session['is_login'] = '******'
                    return ret
                else:
                    error = '账号密码输入有误,请重新输入'
            else:
                error = '该手机号码暂未注册,请先注册'
        else:
            error = list(form.errors.values())[0][0]
    return render(
        req, 'login.html', {
            'form': form,
            'error': error,
            'default_city': default_city,
            'user_info': user_dict,
            'city_obj': city_obj,
        })
コード例 #16
0
def buy(request):
    """
    用户点击购买按钮,如果该商品有套餐,则显示套餐页面详情
    :param request:
    :return:
    """
    result_dict = {'status': 200, 'message': None, 'data': None, 'url': None}
    if request.method == 'GET':
        user_dict = user_info(request)
        # 判断用户信息是否存在
        if user_dict:
            pid = request.GET.get('pid')
            # 判断pid是否存在
            if pid:
                # 产品
                product_obj = models.Products.objects.filter(id=pid).first()
                if product_obj:
                    # 产品对应的套餐
                    packages_obj = models.Product2Package.objects.filter(
                        product_id=pid).all()
                    if packages_obj:
                        result_dict['data'] = True
                        result_dict[
                            'url'] = '/product/package/ppid/{}.html'.format(
                                pid)
                    else:
                        result_dict['data'] = False
                        result_dict['url'] = '/package/{}.html'.format(pid)
                else:
                    result_dict['data'] = False
                    result_dict['url'] = '非法请求'
            else:
                result_dict['status'] = 401
                result_dict['error_message'] = '该请求属于非法请求'

        else:
            result_dict['status'] = 801
            result_dict['error_message'] = '请先登录账号'
    else:
        result_dict['status'] = 401
        result_dict['error_message'] = '该请求属于非法请求'
    return JsonResponse(result_dict)
コード例 #17
0
ファイル: news.py プロジェクト: PalaChen/sdy
def index(req):
    default_city = req.session.get('default_city')
    user_dict = user_info(req)
    category_id = 1
    is_login = req.session.get('is_login')
    articles_obj = models.Articles.objects.all().order_by('-ctime')
    posts = paginator(req, articles_obj)
    category_boj = models.ArticlesCategory.objects.all()
    return render(
        req, 'news/news_index.html', {
            'posts': posts,
            'title': title_dict['index'],
            'hot_articles_obj': hot_articles_obj,
            'category_boj': category_boj,
            'category_id': category_id,
            'is_login': is_login,
            'user_info': user_dict,
            'city_obj': city_obj,
            'default_city': default_city,
        })
コード例 #18
0
def pp_buy(request, id):
    user_dict = user_info(request)
    default_city = request.session.get('default_city')
    city_obj = models.RegionalManagement.objects.filter(
        Q(r_code__isnull=False)).all()
    product_obj = models.Products.objects.filter(id=id).first()
    pp_obj = models.ProductsPackages.objects.filter(product_id=id).all()
    pp2p_dict = {}
    for pp in pp_obj:
        pp2p_obj = models.ProductsPackages2P.objects.filter(pp2p=pp).all()
        pp2p_dict[pp.id] = pp2p_obj
    context = {
        'product_obj': product_obj,
        'pp_obj': pp_obj,
        'pp2p_dict': pp2p_dict,
        'title': '{}-下单'.format(product_obj),
        'user_info': user_dict,
        'default_city': default_city,
        'city_obj': city_obj,
    }
    return render(request, 'product/pp_buy.html', context)
コード例 #19
0
def pay(request, id):
    default_city = request.session.get('default_city')

    user_dict = user_info(request)
    is_login = request.session.get('is_login')
    pay_obj = models.OrderPayment.objects.filter(id=id).first()
    if pay_obj:
        if pay_obj.status == 1:
            return redirect('user_order')

        order_obj = models.Orders.objects.filter(order_code=pay_obj.order_code) \
            .values('order_code', 'product_name', 'number', 'city', 'area').all()
        return render(
            request, 'shop/pay.html', {
                'order_obj': order_obj,
                'is_login': is_login,
                'pay_obj': pay_obj,
                'user_info': user_dict,
                'default_city': default_city,
                'title': title_dict['pay']
            })
    return redirect('web_index')
コード例 #20
0
ファイル: news.py プロジェクト: PalaChen/sdy
def category(request, category_id):
    default_city = request.session.get('default_city')
    is_login = request.session.get('is_login')
    user_dict = user_info(request)
    articles_obj = models.Articles.objects.filter(
        category_id=category_id).order_by('-ctime')
    posts = paginator(request, articles_obj)
    category_boj = models.ArticlesCategory.objects.all()
    return render(
        request,
        'news/news_index.html',
        {
            'posts': posts,
            'hot_articles_obj': hot_articles_obj,
            'category_boj': category_boj,
            'is_login': is_login,
            'user_info': user_dict,
            'city_obj': city_obj,
            'default_city': default_city,
            'category_id': int(category_id)
        },
    )
コード例 #21
0
ファイル: news.py プロジェクト: PalaChen/sdy
def article(request, category_id, article_id):
    default_city = request.session.get('default_city')
    is_login = request.session.get('is_login')
    user_dict = user_info(request)
    article_obj = models.Articles.objects.filter(
        id=article_id).select_related('articlesdetails').first()
    articles_obj = models.Articles.objects.order_by('-ctime')[0:4]
    article_obj.views += 1
    article_obj.save()

    author_obj = models.Author.objects.filter(id=article_obj.author_id).first()
    author_obj.views += 1
    author_obj.save()

    return render(
        request, 'news/news_article.html', {
            'post': article_obj,
            'is_login': is_login,
            'articles_obj': articles_obj,
            'user_info': user_dict,
            'city_obj': city_obj,
            'default_city': default_city,
            'hot_articles_obj': hot_articles_obj,
        })
コード例 #22
0
ファイル: user.py プロジェクト: PalaChen/sdy
def edit_pwd(request):
    default_city = request.session.get('default_city')
    user_dict = user_info(request)
    form = EditPwdForm(request.POST or None)
    if request.method == 'POST':
        if form.is_valid():
            phone = user_dict['phone']
            password = request.POST.get('password')
            models.Users.objects.filter(phone=phone).update(password=password)
            res_dict['message'] = '请使用新密码重新登录'
        else:

            res_dict['status'] = False
            res_dict['message'] = list(form.errors.values())[0][0]

        return JsonResponse(res_dict)

    return render(
        request, 'user/edit_password.html', {
            'title': title['edit_pwd'],
            'default_city': default_city,
            'user_info': user_dict,
            'city_obj': city_obj,
        })