예제 #1
0
def index(request: HttpRequest) -> HttpResponse:
    if request.method != "get":
        raise MethodNotAllowed

    html = render_html("index.html")

    return HttpResponse(body=html)
예제 #2
0
def index(request: HttpRequest) -> HttpResponse:
    if request.method != "get":
        raise MethodNotAllowed

    profile_saved = request.session.get("profile")
    user_saved = User.build(profile_saved)

    context = _build_context(request,
                             user_new=user_saved,
                             user_saved=user_saved)

    html = render_html("hello.html", context)
    return HttpResponse(status_code=400, body=html)
예제 #3
0
def update(request: HttpRequest) -> Union[HttpResponse, NoReturn]:
    if request.method != "post":
        raise Redirect("/hello")

    user_new = User.build(request.POST)
    profile_saved = request.session.get("profile", {})

    if not user_new.errors:
        profile_new = asdict(user_new)
        profile_saved.update(profile_new)
        request.session["profile"] = profile_saved
        raise Redirect("/hello", headers=request.session.headers)

    user_saved = User.build(profile_saved)

    context = _build_context(request, user_new=user_new, user_saved=user_saved)

    html = render_html("hello.html", context)
    return HttpResponse(status_code=400, body=html)