python类HttpResponseBadRequest()的实例源码

views.py 文件源码 项目:taiga-contrib-saml-auth 作者: jgiannuzzi 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def complete_login(request):
    auth = get_saml_auth(request)
    auth.process_response()
    errors = auth.get_errors()

    if errors:
        logger.error(auth.get_last_error_reason(), exc_info=True)
        return HttpResponseBadRequest(
                content='Error when processing SAML Response: {}'.format(', '.join(errors))
                )

    if auth.is_authenticated():
        request.session['saml_attributes'] = auth.get_attributes()
        request.session['saml_nameid'] = auth.get_nameid()
        request.session['saml_session_index'] = auth.get_session_index()

        params = {'state': 'saml'}
        url = request.POST.get('RelayState', '/login')

        return HttpResponseRedirect(auth.redirect_to(url, parameters=params))

    else:
        raise PermissionDenied()
views.py 文件源码 项目:taiga-contrib-saml-auth 作者: jgiannuzzi 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def complete_logout(request):
    auth = get_saml_auth(request)
    url = auth.process_slo(delete_session_cb=lambda: request.session.flush())
    errors = auth.get_errors()

    if errors:
        logger.error(auth.get_last_error_reason(), exc_info=True)
        return HttpResponseBadRequest(
                content='Error when processing SAML Logout Request: {}'.format(', '.join(errors))
                )

    params = {}
    if url:
        params['next'] = url

    return HttpResponseRedirect(auth.redirect_to('/logout', parameters=params))
views.py 文件源码 项目:dj-paypal 作者: HearthSim 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def post(self, request):
        if "HTTP_PAYPAL_TRANSMISSION_ID" not in request.META:
            # Do not even attempt to process/store the event if there is
            # no paypal transmission id so we avoid overfilling the db.
            return HttpResponseBadRequest()

        trigger = WebhookEventTrigger.from_request(request)

        if trigger.exception:
            # An exception happened, return 500
            return HttpResponseServerError()

        if not trigger.valid:
            # Webhook Event did not validate, return 400
            return HttpResponseBadRequest()

        return HttpResponse(str(trigger.id))
views.py 文件源码 项目:challenge-legi 作者: jshacks 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def search(request):
    q = request.GET.get('q')
    if not q:
        return HttpResponseBadRequest("GET['q'] not set!")
    q = q.strip()

    try:
        document_ids = search_ids(q)
    except SearchError as e:
        return HttpResponseServerError(str(e))
    documents = [get_document(id).parsed for id in document_ids]

    data = {
        'status': 'ok',
        'query': q,
        'document_ids': document_ids,
        'documents': documents,
        'results': len(document_ids),
    }
    r = JsonResponse(data)
    r["Access-Control-Allow-Origin"] = '*'
    return r
defaults.py 文件源码 项目:CodingDojo 作者: ComputerSocietyUNB 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def bad_request(request, exception, template_name='400.html'):
    """
    400 error handler.

    Templates: :template:`400.html`
    Context: None
    """
    try:
        template = loader.get_template(template_name)
    except TemplateDoesNotExist:
        return http.HttpResponseBadRequest('<h1>Bad Request (400)</h1>', content_type='text/html')
    # No exception content is passed to the template, to not disclose any sensitive information.
    return http.HttpResponseBadRequest(template.render())


# This can be called when CsrfViewMiddleware.process_view has not run,
# therefore need @requires_csrf_token in case the template needs
# {% csrf_token %}.
views.py 文件源码 项目:tecken 作者: mozilla-services 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def task_tester(request):
    if request.method == 'POST':
        cache.set('marco', 'ping', 100)
        sample_task.delay('marco', 'polo', 10)
        return http.HttpResponse(
            'Now make a GET request to this URL\n',
            status=201,
        )
    else:
        if not cache.get('marco'):
            return http.HttpResponseBadRequest(
                'Make a POST request to this URL first\n'
            )
        for i in range(3):
            value = cache.get('marco')
            if value == 'polo':
                return http.HttpResponse('It works!\n')
            time.sleep(1)

        return http.HttpResponseServerError(
            'Tried 4 times (4 seconds) and no luck :(\n'
        )
util.py 文件源码 项目:zing 作者: evernote 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def ajax_required(f):
    """Check that the request is an AJAX request.

    Use it in your views:

    @ajax_required
    def my_view(request):
        ....

    Taken from:
    http://djangosnippets.org/snippets/771/
    """
    @wraps(f)
    def wrapper(request, *args, **kwargs):
        if not settings.DEBUG and not request.is_ajax():
            return HttpResponseBadRequest("This must be an AJAX request.")
        return f(request, *args, **kwargs)

    return wrapper
views.py 文件源码 项目:ITAP-django 作者: krivers 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def unpack_problem_json(request):
    data = json.loads(request.body.decode('utf-8'))
    if "name" not in data:
        return HttpResponseBadRequest("Need to include a reference to 'name' in the json object")
    if "courses" not in data:
        return HttpResponseBadRequest("Need to include a reference to 'courses' in the json object")
    if "tests" not in data:
        return HttpResponseBadRequest("Need to include a reference to 'tests' in the json object")
    if "solution_code" not in data:
        return HttpResponseBadRequest("Need to include a reference to 'solution_code' in the json object")

    courses = []
    for c in data["courses"]:
        course = Course.objects.filter(id=c)
        if len(course) != 1:
            return HttpResponseBadRequest("No course exists with the ID " + str(c))
        courses.append(course[0])
    data["courses"] = courses
    return data
views.py 文件源码 项目:valhalla 作者: LCOGT 项目源码 文件源码 阅读 70 收藏 0 点赞 0 评论 0
def get(self, request):
        try:
            start, end = get_start_end_paramters(request, default_days_back=1)
        except ValueError as e:
            return HttpResponseBadRequest(str(e))
        combine = request.query_params.get('combine')
        sites = request.query_params.getlist('site')
        telescopes = request.query_params.getlist('telescope')
        try:
            telescope_availability = get_telescope_availability_per_day(
                start, end, sites=sites, telescopes=telescopes
            )
        except ElasticSearchException:
            logger.warning('Error connecting to ElasticSearch. Is SBA reachable?')
            return Response('ConnectionError')
        if combine:
            telescope_availability = combine_telescope_availabilities_by_site_and_class(telescope_availability)
        str_telescope_availability = {str(k): v for k, v in telescope_availability.items()}

        return Response(str_telescope_availability)
views.py 文件源码 项目:healthchecks_asgards 作者: andela 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def add_slack_btn(request):
    code = request.GET.get("code", "")
    if len(code) < 8:
        return HttpResponseBadRequest()

    result = requests.post("https://slack.com/api/oauth.access", {
        "client_id": settings.SLACK_CLIENT_ID,
        "client_secret": settings.SLACK_CLIENT_SECRET,
        "code": code
    })

    doc = result.json()
    if doc.get("ok"):
        channel = Channel()
        channel.user = request.team.user
        channel.kind = "slack"
        channel.value = result.text
        channel.save()
        channel.assign_all_checks()
        messages.success(request, "The Slack integration has been added!")
    else:
        s = doc.get("error")
        messages.warning(request, "Error message from slack: %s" % s)

    return redirect("hc-channels")
views.py 文件源码 项目:healthchecks_asgards 作者: andela 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def badge(request, username, signature, tag):
    if not check_signature(username, tag, signature):
        return HttpResponseBadRequest()

    status = "up"
    q = Check.objects.filter(user__username=username, tags__contains=tag)
    for check in q:
        if tag not in check.tags_list():
            continue

        if status == "up" and check.in_grace_period():
            status = "late"

        if check.get_status() == "down":
            status = "down"
            break

    svg = get_badge_svg(tag, status)
    return HttpResponse(svg, content_type="image/svg+xml")
views.py 文件源码 项目:healthchecks_asgards 作者: andela 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def set_password(request, token):
    profile = request.user.profile
    if not check_password(token, profile.token):
        return HttpResponseBadRequest()

    if request.method == "POST":
        form = SetPasswordForm(request.POST)
        if form.is_valid():
            password = form.cleaned_data["password"]
            request.user.set_password(password)
            request.user.save()

            profile.token = ""
            profile.save()

            # Setting a password logs the user out, so here we
            # log them back in.
            u = authenticate(username=request.user.email, password=password)
            auth_login(request, u)

            messages.success(request, "Your password has been set!")
            return redirect("hc-profile")

    return render(request, "accounts/set_password.html", {})
views.py 文件源码 项目:mentoringtool 作者: cindycaobutler 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def updateData(request, table):
    data = request.data

    if table == "user":
        username = data['username']
        if not User_data.objects.filter(username=username).exists():
            return HttpResponseBadRequest('User record with username ' + username + ' does not exist')
        else:
            data.pop('username', None)
            user.objects.filter(username=username).update(**data)
            return HttpResponse('Put is successful')
    elif table == "program":
        pid = data['pid']
        if not Program.objects.filter(pid=pid).exists():
            return HttpResponseBadRequest('Program record with pid ' + str(pid) + ' does not exist')
        else:
            prog = Program.objects.get(pid=pid)
            data.pop('pid', None)
            Program.objects.filter(pid=pid).update(**data)
            return HttpResponse('Put is successful')
    else:
        return HttpResponseBadRequest('Put is not successful')
views.py 文件源码 项目:mentoringtool 作者: cindycaobutler 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def deleteData(request, table):
    data = request.data

    if table == "user":
        username = data['username']
        if not User_data.objects.filter(username=username).exists():
            return HttpResponseBadRequest('User record with username ' + username + ' does not exist')
        else:
            user = User_data.objects.get(username=username)
            user.delete()
    elif table == "program":
        pid = data['pid']
        if not Program.objects.filter(pid=pid).exists():
            return HttpResponseBadRequest('Program record with pid ' + str(pid) + ' does not exist')
        else:
            prog = Program.objects.get(pid=pid)
            prog.delete()
    else:
        return HttpResponseBadRequest('Wrong table name')

    return HttpResponse('Delete is successful')
views.py 文件源码 项目:mentoringtool 作者: cindycaobutler 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def parseRequest(request, table, id):
    data = request.data

    if table == 'user':
        username = data['username']
        try:
            data = User_data.objects.filter(username=username).values()
            print(data)
        except User_data.DoesNotExist:
            return HttpResponse(status=404)

        return HttpResponse(data)

    elif table == "program":
        pid = data['pid']
        try:
            data = Program.objects.filter(pid=id).values()
        except Program.DoesNotExist:
            return HttpResponse(status=404)
        return HttpResponse(data)
    else:
        return HttpResponseBadRequest('Wrong table name')
views.py 文件源码 项目:HSISeg 作者: HSISeg 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def image_to_pickle(request):
    if request.method == 'POST':
        try:
            params = json.loads(request.body)
        except:
            return HttpResponseBadRequest(json.dumps({'error':'Json required'}),content_type="application/json")
        if not params.get('image_path') or not params.get('output_path'):
            return HttpResponseBadRequest(json.dumps({'error':'image_path and output_path required'}),content_type="application/json")
        try:
            data = get_data_from_image(params.get('image_path'))
            save_to_pickle(data,str(params.get('output_path'))+"/data.pickle")
            return HttpResponse(json.dumps({'success':True}),content_type="application/json")
        except Exception as e:
            return HttpResponseBadRequest(json.dumps({'error':str(e)}),content_type="application/json")
    else:
        raise Http404()
views.py 文件源码 项目:HSISeg 作者: HSISeg 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def run_algo(request):
    if request.method == 'POST':
        try:
            params = json.loads(request.body)
        except:
            return HttpResponseBadRequest(json.dumps({'error':'Json required'}),content_type="application/json")
        if not params.get("image_pickle_file_path") or not params.get("algo") or not params.get('cluster_number') or not params.get('output_path'): 
            return HttpResponseBadRequest(json.dumps({'error':'output_path ,image_pickle_file_path,cluster_number and algo manadatory,only .pickle file accepted, valid algo are '+str(default_params.algo_details.keys())}),content_type="application/json")
        pid_element = Results.objects.create(pid=None)
        params['id'] = pid_element.id
        params = json.dumps(params)
        command = "python segment_hsi.py '"+str(params)+"' &"
        proc = subprocess.Popen(command,shell=True)
        return HttpResponse(json.dumps({'success':True,'task_id':pid_element.id}),content_type="application/json")
    else:
        raise Http404()
views.py 文件源码 项目:HSISeg 作者: HSISeg 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def get_beta(request):
    if request.method == 'POST':
        try:
            params = json.loads(request.body)
        except:
            return HttpResponseBadRequest(json.dumps({'error':'Json required'}),content_type="application/json")
        if not params.get("output_path") or not params.get("image_pickle_file_path"): 
            return HttpResponseBadRequest(json.dumps({'error':'output_path and image_pickle_file_path manadatory'}),content_type="application/json")
        pid_element = Results.objects.create(pid=None)
        params['id'] = pid_element.id
        params = json.dumps(params)
        command = "python make_beta.py '"+str(params)+"' &"
        proc = subprocess.Popen(command,shell=True)
        return HttpResponse(json.dumps({'success':True,'task_id':pid_element.id}),content_type="application/json")
    else:
        raise Http404()
views.py 文件源码 项目:HSISeg 作者: HSISeg 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def get_weight(request):
    if request.method == 'POST':
        try:
            params = json.loads(request.body)
        except:
            return HttpResponseBadRequest(json.dumps({'error':'Json required'}),content_type="application/json")
        if not params.get("output_path") or not params.get("image_pickle_file_path"): 
            return HttpResponseBadRequest(json.dumps({'error':'output_path and image_pickle_file_path manadatory'}),content_type="application/json")
        pid_element = Results.objects.create(pid=None)
        params['id'] = pid_element.id
        params = json.dumps(params)
        command = "python make_weight.py '"+str(params)+"' &"
        proc = subprocess.Popen(command,shell=True)
        return HttpResponse(json.dumps({'success':True,'task_id':pid_element.id}),content_type="application/json")
    else:
        raise Http404()
views.py 文件源码 项目:HSISeg 作者: HSISeg 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def kill_task(request):
    if request.method == 'POST':
        try:
            params = json.loads(request.body)
        except:
            return HttpResponseBadRequest(json.dumps({'error':'Json required'}),content_type="application/json")
        if not params.get("task_id"): 
            return HttpResponseBadRequest(json.dumps({'error':'task_id manadatory'}),content_type="application/json")
        tasks = Results.objects.filter(id = params['task_id'])
        for task in tasks:
            try:
                parent = psutil.Process(task.pid)
                for child in parent.children(recursive=True):
                    child.kill()
                parent.kill()
            except Exception as e:
                pass
            task.status_text = 'Killed'
            task.is_done = True
            task.save()
        return HttpResponse(json.dumps({'success':True}),content_type="application/json")
    else:
        raise Http404()
views.py 文件源码 项目:HSISeg 作者: HSISeg 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def get_task_status(request):
    if request.method == 'POST':
        try:
            params = json.loads(request.body)
        except:
            return HttpResponseBadRequest(json.dumps({'error':'Json required'}),content_type="application/json")
        if not params.get("task_id"): 
            return HttpResponseBadRequest(json.dumps({'error':'task_id manadatory'}),content_type="application/json")
        try:
            task = Results.objects.get(id=params['task_id'])

            data = {'task_id':task.id,'result_file_name':task.result_file_name,'error':task.error,'percentage_done':task.percentage_done,
                    'status_text':task.status_text,'is_done':task.is_done,'pid':task.pid}
            return HttpResponse(json.dumps(data),content_type="application/json")
        except Results.DoesNotExist as e:
            return HttpResponseBadRequest(json.dumps({'error':'Invalid task_id'}),content_type="application/json")
    else:
        raise Http404()
views.py 文件源码 项目:ava-website 作者: ava-project 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def get(self, request, **kwargs):
        """
        Validate account from link sent by email.

        This endpoint tests if the token is in the database and
        if it's not expired, correspond to the correct user and
        if it's not consumed yet, then the user account will be
        validate after that.
        """
        try:
            token = EmailValidationToken.objects.get(token=request.GET['token'])
            if not token.is_valid(request.GET['email']):
                raise ValueError('invalid token')
            token.consume()
            if not request.user.is_authenticated:
                self.login_user(token.user)
            messages.success(request, 'Email validated')
            return redirect('main:index')
        except (EmailValidationToken.DoesNotExist, ValueError) as e:
            print(e)
            return HttpResponseBadRequest('Something went wrong with your token, please try again')
views.py 文件源码 项目:django-djeddit 作者: EatEmAll 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def setUserStatus(request):
    """set user status to either active (is_active=True), banned(is_active=False), or admin(is_superuser=True)"""
    try:
        username = request.POST['username']
        status = request.POST['status']
    except KeyError:
        return HttpResponseBadRequest()
    try:
        user = User.objects.get(username=username)
    except User.DoesNotExist:
        raise Http404()
    if status == 'active':
        user.is_active = True
        user.is_superuser = False
    elif status == 'banned':
        user.is_active = False
        user.is_superuser = False
    elif status == 'admin':
        user.is_active = True
        user.is_superuser = True
    else:
        return HttpResponseBadRequest()
    user.save()
    return HttpResponse()
tracker.py 文件源码 项目:mercure 作者: synhack 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def set_info(request, tracker_id):
    """Set browser infos.

    :param request:
    :param tracker_id:
    :return:
    """
    if not request.POST.get('infos'):
        return HttpResponseBadRequest()

    tracker = TrackerInfos.objects.filter(
        target_tracker_id=tracker_id, raw=None).order_by('created_at').last()

    if not tracker:
        return HttpResponseNotFound()

    tracker.raw = request.POST['infos']
    tracker.save()

    return HttpResponse('')
towers.py 文件源码 项目:CommunityCellularManager 作者: facebookincubator 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def get(self, request, uuid=None):
        """Handles GET requests."""
        user_profile = models.UserProfile.objects.get(user=request.user)
        try:
            tower = models.BTS.objects.get(uuid=uuid,
                                           network=user_profile.network)
        except models.BTS.DoesNotExist:
            return http.HttpResponseBadRequest()
        endaga_version = json.loads(tower.package_versions)['endaga_version']
        context = {
            'networks': get_objects_for_user(request.user, 'view_network', klass=models.Network),
            'user_profile': user_profile,
            'tower': tower,
            'endaga_version': endaga_version,
            'status': tower.get_status_display(),
        }
        # Render template.
        edit_template = template.loader.get_template(
            'dashboard/tower_detail/deregister.html')
        html = edit_template.render(context, request)
        return http.HttpResponse(html)
dashboard.py 文件源码 项目:CommunityCellularManager 作者: facebookincubator 项目源码 文件源码 阅读 34 收藏 0 点赞 0 评论 0
def addmoney(request):
    if request.method == 'POST':
        amt = cents2mc(int(float(request.POST['amount']) * 100))
        user_profile = UserProfile.objects.get(user=request.user)
        network = user_profile.network
        try:
            charge = network.authorize_card(amt, "credit", "Add Credit")
            network.add_credit(amt)
            network.capture_charge(charge.id)
            messages.add_message(request, messages.SUCCESS,
                                 "addmoney_stripe_success",
                                 extra_tags="billing_resp_code")
            return redirect("/dashboard/billing")
        except stripe.StripeError:
            logger.error("Failed to add money, stripe.CardError: %s", request)
            messages.add_message(request, messages.WARNING,
                                 "addmoney_stripe_error",
                                 extra_tags="billing_resp_code")
            return redirect("/dashboard/billing")
    else:
        return HttpResponseBadRequest()
dashboard.py 文件源码 项目:CommunityCellularManager 作者: facebookincubator 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def get(self, request, imsi=None):
        """Handles GET requests."""
        user_profile = UserProfile.objects.get(user=request.user)
        network = user_profile.network
        try:
            subscriber = Subscriber.objects.get(imsi=imsi,
                                                network=network)
        except Subscriber.DoesNotExist:
            return HttpResponseBadRequest()

        initial_form_data = {
            'imsi': subscriber.imsi
        }
        # Set the response context.
        context = {
            'networks': get_objects_for_user(request.user, 'view_network', klass=Network),
            'user_profile': user_profile,
            'subscriber': subscriber,
            'send_sms_form': dform.SubscriberSendSMSForm(
                initial=initial_form_data)
        }
        # Render template.
        template = get_template('dashboard/subscriber_detail/send_sms.html')
        html = template.render(context, request)
        return HttpResponse(html)
dashboard.py 文件源码 项目:CommunityCellularManager 作者: facebookincubator 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def delete(self, request, imsi=None):
        """Handle the deletion of Pending Credit Updates."""
        user_profile = UserProfile.objects.get(user=request.user)
        network = user_profile.network
        request_data = QueryDict(request.body)
        if "pending_id" not in request_data:
            return HttpResponseBadRequest()
        pending_id = request_data['pending_id']
        try:
            update = PendingCreditUpdate.objects.get(uuid=pending_id)
        except PendingCreditUpdate.DoesNotExist:
            return HttpResponseBadRequest()
        if update.subscriber.network != network:
            return HttpResponseBadRequest()
        update.delete()
        return HttpResponse()
dashboard.py 文件源码 项目:CommunityCellularManager 作者: facebookincubator 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def post(self, request, imsi=None):
        """Handles POST requests to change subscriber info."""
        user_profile = UserProfile.objects.get(user=request.user)
        network = user_profile.network
        try:
            subscriber = Subscriber.objects.get(imsi=imsi,
                                                network=network)
        except Subscriber.DoesNotExist:
            return HttpResponseBadRequest()
        if (request.POST.get('name') and
                subscriber.name != request.POST.get('name')):
            subscriber.name = request.POST.get('name')
            subscriber.save()
        if request.POST.get('prevent_automatic_deactivation'):
            protected = (
                request.POST.get('prevent_automatic_deactivation') == 'True')
            subscriber.prevent_automatic_deactivation = protected
            subscriber.save()
        messages.success(request, "Subscriber information updated.",
                         extra_tags="alert alert-success")
        kwargs = {
            'imsi': imsi
        }
        return redirect(urlresolvers.reverse('subscriber-edit', kwargs=kwargs))
user.py 文件源码 项目:CommunityCellularManager 作者: facebookincubator 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def update_contact(request):
    """Handles a user changing their background contact info."""
    if request.method == 'POST':
        if 'email' in request.POST:
            try:
                validate_email(request.POST['email'])
                request.user.email = request.POST['email']
            except ValidationError:
                messages.error(request, "Invalid email address.",
                               extra_tags="contact alert alert-danger")
                return redirect("/dashboard/profile")
        if 'first_name' in request.POST:
            request.user.first_name = request.POST['first_name']
        if 'last_name' in request.POST:
            request.user.last_name = request.POST['last_name']
        user_profile = UserProfile.objects.get(user=request.user)
        if 'timezone' in request.POST:
            user_profile.timezone = request.POST['timezone']
        user_profile.save()
        request.user.save()
        messages.success(request, "Profile information updated.",
                         extra_tags="contact alert alert-success")
        return redirect("/dashboard/profile")
    return HttpResponseBadRequest()


问题


面经


文章

微信
公众号

扫码关注公众号