小编Moh*_* CH的帖子

在我自己的视图中使用 django PasswordResetView 功能

我想使用 django 的默认密码重置视图“PasswordResetView”,当用户在一个模板中忘记密码时,他可以重置他的密码,该模板已经有我自己构建的视图,在查看了教程和我找到的问题后,我发现如何仅在仅用于密码重置的不同模板上使用它,但我不希望用户在忘记密码时转到不同的页面只是为了更改他的密码,我想在引导模式中进行主页。

这是我的主视图,我想为其添加 PasswordResetView 功能:

def home(request):
    
    user = request.user
    signin_form = SigninForm()
    signup_form = SignupForm()




    if request.method == "POST":
        if 'signin_form' in request.POST:
            signin_form = SigninForm(request.POST)
            if signin_form.is_valid():
                    email = request.POST['email']
                    password = request.POST['password']
                    user = authenticate(email=email, password=password)
                    if user:
                        login(request, user)
                    elif user is None:
                        messages.error(request, '?Email or password is incorrect')



        if 'signup_form' in request.POST:
            signup_form = SignupForm(request.POST)
            if signup_form.is_valid():
                signup_form.save()
                full_name = signup_form.cleaned_data.get('full_name')
                email = signup_form.cleaned_data.get('email')
                raw_password = signup_form.cleaned_data.get('password1')
                account = authenticate(email=email, password=raw_password)
                login(request, account)
                
   
    context …
Run Code Online (Sandbox Code Playgroud)

python django django-forms django-views django-authentication

6
推荐指数
1
解决办法
1110
查看次数

为 django 密码重置表单添加样式

我想为 django 的默认密码重置表单添加样式,例如类和占位符

我的 urls.py 中有以下内容

from django.urls import path
from . import views
from django.contrib.auth import views as auth_views


urlpatterns = [

    # Password reset paths

    path('password_reset/', auth_views.PasswordResetView.as_view(template_name="main/password_reset.html"),name="reset_password"),
    path('password_reset_sent/', auth_views.PasswordResetDoneView.as_view(template_name="main/password_reset_sent.html"),name="password_reset_done"),
    path('reset_password/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(template_name="main/reset_password.html"),name="password_reset_confirm"),
    path('reset_password_complete/', auth_views.PasswordResetCompleteView.as_view(template_name="main/reset_password_complete.html"),name="password_reset_complete"),
]
Run Code Online (Sandbox Code Playgroud)

在模板中

<form action="" method="POST">
            {% csrf_token %}
            {{form}}
            <input type="submit" name="Send email" class="btn btn-primary" >
        </form>
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-forms django-views

3
推荐指数
1
解决办法
1356
查看次数

Django Rest框架ajax表单提交错误403(禁止)

当我尝试提交使用 DRF API 的 ajaxified 表单时,我进入浏览器控制台!

POST http://localhost:8000/api/texts/ 403(禁止)

这是我的 html 文件:

 <form id="text-form" method="POST" action="">
                   

                            <input type="text" name="title" placeholder="Title" class="form-control mb-3 pb-2"
                                maxlength="200" required id="title">
                            <input type="date" name="deadline" placeholder="Deadline" autocomplete="off"
                                class="form-control mb-3" id="myflatpickr">                                         
                      
                            <textarea name="requirements" cols="40" rows="4"
                                placeholder="requirements"
                                class="form-control col mt-3" maxlength="200" required id="requirements"></textarea>

                    <textarea name="document" cols="40" rows="10"
                        placeholder="document"
                        id="editor" class="form-control" required></textarea>

                <button type="submit">Submit</button>
                </form>
Run Code Online (Sandbox Code Playgroud)

这是我的 JavaScript 文件

  $("#text-form").submit(function (event) {
    event.preventDefault();
    $textData = $("#text-form").serialize()
    $.ajax({
      url: "http://localhost:8000/api/texts/",
      method: "POST",
      data: $textData,
      success: function() {
        console.log($textData)
      },
      error: function() …
Run Code Online (Sandbox Code Playgroud)

python django ajax python-3.x django-rest-framework

1
推荐指数
1
解决办法
3545
查看次数