django-views 相关问题

Django视图是MVC视图;它们控制渲染(通常通过模板)和显示的数据。

Django LogoutView 不起作用。如何使用基于类的默认函数解决这个问题?

我想使用 django 内置 LogoutView 库,但它不起作用。当我使用它时,它显示“此页面无法正常工作” 注销功能应该可以运行并注销用户。 下面是...

回答 1 投票 0

python manage.py runserver 返回属性错误

我在myapp中创建了一个python文件并将其命名为urls.py它看起来像 从 django.contrib 导入 admin 从 django.urls 导入路径 url 模式 = [ 路径('admin/', admin.site.urls), p...

回答 1 投票 0

我正在尝试使用(来自.导入视图)[关闭]

我在myapp中创建了一个python文件并将其命名为urls.py它看起来像 从 django.contrib 导入 admin 从 django.urls 导入路径 url 模式 = [ 路径('admin/', admin.site.urls), p...

回答 2 投票 0

TypeError:SearchProduct.get() 得到意外的关键字参数“query”

在Windows 10中,我使用react-router-dom 5.2.0和react-redux 7.2.5和react 17.0.2和axios 0.21.4和WebStorm 2023.1.3 IDE和PyCharm Community Edition 2023.2和djangorestframework= =3.14...

回答 1 投票 0

没有重定向到下一个参数?姜戈

我的身份验证视图: 类 LoginView(auth_views.LoginView): form_class = 登录表单 template_name = '事件/登录.html' def post(self, request, *args, **kwargs): 下一个_...

回答 1 投票 0

在Django中,Serializer类中的“data”字段来自哪里?

我在一堆 django 代码中看到,特别是在视图集中,当序列化器初始化时,如下所示: 类 UserViewSet(viewsets.ModelViewSet): ”“” 一个视图集

回答 1 投票 0

Django 无法识别 template_name

设置.py 已安装的应用程序 = [ ..., '身份验证系统应用', ] 模板 = [ { ..., 'DIRS': ['authentication_system_app/templates/'], ..., }, ]

回答 1 投票 0

DjangoForeignKey反向关系

我有 2 个模型,一个父模型和一个子模型。我试图从父模型调用子模型 父类(模型.模型): 名称 = models.CharField(...) 类 ChildClass(models.Model): ...

回答 1 投票 0

关系“core_bedroomsummary”的“user_id”列中的空值违反了非空约束 |详细信息:失败行包含(2、标题、字符串、空)

我觉得这应该很容易解决,但我似乎无法弄清楚为什么它不提取特定用户的 uuid。重点是让用户能够有自己的评论。 意见...

回答 1 投票 0

具有相同值的Django字典

我正在尝试创建一个包含某些特定值的字典,但它多次获得相同的值: 读者 = Readers.objects.all() 计数 = 0 读者结果 = {} 测试={ “头像”:...

回答 3 投票 0

从 Django 1.11 开始,render 方法中传递的 context 应该是字典而不是 Context 对象。那么 context.render_context 是如何工作的?

render() 调用 loader 模块的 render_to_string 方法,该方法通过创建 Template 对象来调用 Template 类的 render 方法。到目前为止,上下文是一本字典。 仁内...

回答 1 投票 0

CSRF 验证失败。请求中止。我正在尝试将数据从 AJAX 发送到views.py,但它显示了此错误

注册.html {% csrf_token %} 姓名: 注册.html <form method="POST" id="someForm"> {% csrf_token %} <label for="name">Name:</label> <input type="text" id="name" name="name" required /> <label for="email">Email:</label> <input type="email" id="email" name="email" required /> <label for="password">Password:</label> <input type="password" id="password" name="password" required /> <input type="submit" value="Register" name="createuser" /> </form> </div> </div> <script src="https://code.jquery.com/jquery-3.6.4.min.js"></script> <script> let URLd = "{% url 'defaultpg' %}"; let nameInput = document.getElementById("name"); let emailInput = document.getElementById("email"); let passwordInput = document.getElementById("password"); const someForm = document.getElementById("someForm"); someForm.addEventListener("submit", (e) => { e.preventDefault(); // prevent default behavior of the form var csrfToken = $("input[name='csrfmiddlewaretoken']").val(); let nameValue = nameInput.value; let emailValue = emailInput.value; let passwordValue = passwordInput.value; let isNameValid = /^[a-zA-Z]+$/.test(nameValue); let isEmailValid = /^\S+@\S+\.\S+$/.test(emailValue); let isPasswordValid = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$/.test( passwordValue ); if (isNameValid && isEmailValid && isPasswordValid) { alert("Successful"); $.ajax({ type: "POST", url: /defaultpg/, headers: { "X-CSRFToken": csrfToken }, data: { name: nameValue, email: emailValue, password: passwordValue, csrfmiddlewaretoken: csrfToken, }, dataType: "json", success: function (data) { // Handle success response alert("Successful msg"); }, error: function () { // Handle error response alert("Failure"); }, }); } else { // Handle validation errors if (!isNameValid) { alert("Please enter a valid Name"); } else if (!isEmailValid) { alert("Please enter a valid Email Address"); } else { alert( "Password must contain letters, capital letter, small letter, special character, and numbers with a length above 8" ); } } // rest of your logic goes here.... }); </script> 这是一个html文件,它接收来自表单的输入,然后传递给js,以便AJAX可以将数据发送到views.py 当调用 url ie /defaultpg 时,我收到 403 错误 urls.py path('defaultpg', views.defaultpg, name='defaultpg'), Views.py @csrf_protect def defaultpg(request): print("-----------------------") if request.method == "POST": # Use request.POST.get() to retrieve form data name = request.POST.get("name") email = request.POST.get('email') password = request.POST.get('password') print(name, email, password) return render(request, 'Entry/login.html') # You may want to handle the case when the request method is not POST return render(request, 'Entry/login.html') 设置.py MIDDLEWARE = [ "django.middleware.security.SecurityMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", "django.middleware.common.CommonMiddleware", 'django.middleware.csrf.CsrfViewMiddleware', # Include CSRF middleware only once "django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", ] 我尝试手动将 defaultpy 放入 url 中,它工作正常,但当我使用 ajax 执行此操作时,它现在不起作用 您必须在请求中将 withCredentials 参数设置为 true。检查这个问题通过跨域帖子发送凭据? 首先通过执行 console.log(csrfToken) 确保您获得了 csrf 令牌 您需要做的另一件事是尝试传递数据,如下所示 data:function (d) { d.name = nameValue; d.email= emailValue; d.password= passwordValue d.csrfmiddlewaretoken = csrfToken; return d; },

回答 2 投票 0

未找到参数 '('',)' 的反向 ' '。尝试了 1 种模式

每当我点击列表页面上的此提交按钮时,都会收到此错误。我已经查看了触发此类错误的典型位置,但我看不出我做错了什么......

回答 1 投票 0

在 Django 中如何比较两个文本并打印有关正确性或错误的消息?

我是 Django 新手。在 Django 中,我想比较前端和后端之间的两个文本,并在它们相同或不同时接收消息。实际上,这两个文本是两个简短的 HTML ...

回答 1 投票 0

django.core.exceptions.FieldError:无法将关键字“department_name”解析为字段

如何正确使用serializers.SlugRelatedField? 我的代码看起来像这样,但出现错误...... 有完整的错误: django.core.exceptions.FieldError:无法解析关键字“department_na...

回答 2 投票 0

如何将excel文件导入到django中的表中

我有这个模型来存储有关计算机的信息。 我正在尝试添加一个功能来直接导入包含数据的 Excel 文件,而不是在表中输入数据,以防数据量很大...

回答 1 投票 0

在 Django 中如何比较两个文本并打印有关正确性的消息?

我是 Django 新手。在 Django 中,我想比较前端和后端之间的两个文本,并在它们相同或不同时接收消息。实际上,这两个文本是两个简短的 HTML ...

回答 1 投票 0

django 中是否有过滤器可用于格式化项目价格以包含逗号?

例如: 10283 → 应变为 10,283.00 2938449 → 应变为 2,938,449.00 有没有办法做到这样的格式,或者是当前的django字符串和浮点格式无法实现的东西

回答 3 投票 0

调用现有端点时出现方法不允许错误

我收到此错误: 不允许的方法:/api/v1/auth/users/student/submission/ “POST /api/v1/auth/users/student/submission/HTTP/1.1”405 41 当访问我的 Django 之一的端点时...

回答 1 投票 0

我无法将Json数据发送到Djangoviews.py,我尝试使用Ajax,但它不起作用,而且还显示CSRF错误

我在 Django 项目中发出 AJAX POST 请求时遇到 CSRF 验证问题。这是我的代码的简化版本: **注册.html *** 在发出 AJAX POST 请求时,我在 Django 项目中遇到 CSRF 验证问题。这是我的代码的简化版本: **注册.html *** <form method="POST" onsubmit="return validateForm()"> (----this revieves the data------) {% csrf_token %} <label for="name">Name:</label> <input type="text" id="name" name="name" required /> <label for="email">Email:</label> <input type="email" id="email" name="email" required /> <label for="password">Password:</label> <input type="password" id="password" name="password" required /> <input type="submit" value="Register" name="createuser"/> </form> </div> </div> <script> let URLd ="{% url 'defaultpg' %}" let nameInput = document.getElementById("name"); let emailInput = document.getElementById("email"); let passwordInput = document.getElementById("password"); (------below funtion validates it -----) function validateForm() { var csrfToken = $("input[name='csrfmiddlewaretoken']"); let nameValue = nameInput.value; let emailValue = emailInput.value; let passwordValue = passwordInput.value; let isNameValid = /^[a-zA-Z]+$/.test(nameValue); let isEmailValid = /^\S+@\S+\.\S+$/.test(emailValue); let isPasswordValid = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$/.test(passwordValue); if (isNameValid) { if (isEmailValid) { if (isPasswordValid) { alert("Successful"); $.ajax({ type: "POST", url: '/defaultpg', headers: {"X-CSRFToken":'{{ csrf_token }}'}, data: { "name": nameValue, "email": emailValue, "password": passwordValue, 'csrfmiddlewaretoken': $("input[name=csrfmiddlewaretoken]") }, dataType: "json", success: function (data) { // any process in data alert("successful"); }, error: function () { alert("failure"); } }); } else { alert("Password must contain letters, capital letter, small letter, special character, and numbers with a length above 8"); } } else { alert("Please enter a valid Email Address"); } } else { alert("Please enter a valid Name"); } } </script> view.py @csrf_protect def defaultpg(request): if request.method == "POST": name = request.POST.get('name') email = request.POST.get('email') password = request.POST.get('password') print("------------------------") print(name) print(email) print(password) print("------------------------") #I put print statement just to see whether data is received or not return redirect('Entry') urls .py path('eafterhome/', views.defaultpg, name='defaultpg'), 我只想通过 view.defaultpg 接收数据,我是 django 新手,我正在为我的最后一年项目做这个,如果有一点帮助就好了 试试这个。 <form method="POST" id="someForm"> {% csrf_token %} <label for="name">Name:</label> <input type="text" id="name" name="name" required /> <label for="email">Email:</label> <input type="email" id="email" name="email" required /> <label for="password">Password:</label> <input type="password" id="password" name="password" required /> <input type="submit" value="Register" name="createuser"/> </form> <script> const someForm = document.getElementById("someForm") someForm.addEventListener("submit", (e) => { e.preventDefault() // prevent default behavior of the form var csrfToken = $("input[name='csrfmiddlewaretoken']").val(); // rest of your logic goes here.... }) </script> 另请注意:如果您将 json 数据发送到 django 视图..您可以像这样处理传入数据: def defaultpg(request): if request.method == "POST": import json data = json.loads(request.body.decode('utf-8')) name = data.get("name") email = data.get('email') password = data.get('password')

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.