django-views 相关问题

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

我将如何处理我网站上的另一个 POST 请求

您好,在我的登录站点中,我有一个在提交时发送 POST 请求的表单。 这就是我在我看来处理表单 POST 请求的方式 def 注册(请求): 如果 request.method == 'POST': ...

回答 2 投票 0

我的 django 复选框组未收到有效值,我该怎么办?

我是 django 新手,只是因为我正在做的一个学生项目而深入研究,这个复选框有一个问题,我不明白...... ... 我是 django 新手,只是因为我正在做的一个学生项目而深入研究,这个复选框有一个问题,我不明白...... <div class="form-group"> <label>4 - Deficiência do Participante: <span>*</span></label> <div class="checkbox-group"> {% for disability in form.participant_disability %} <div class="form-check"> {{ disability }} </div> {% endfor %} </div> </div> 我尝试搜索、删除、更改,但没有任何效果,这里是 forms.py、models.py 和views.py 模型.py from django.db import models from .choices import PARTICIPANT_DISABILITY_CHOICES class Disability(models.Model): name = models.CharField(max_length=255) def __str__(self): return self.name class ParticipantResponse(models.Model): PARTICIPANT_DISABILITY_CHOICES = [ ('auditiva', 'Deficiência Auditiva'), ('fisica', 'Deficiência Física'), ('intelectual', 'Deficiência Intelectual'), ('visual', 'Deficiência Visual'), ('autista', 'Transtorno Espectro Autista'), # Add more options as needed ] participant_disability = models.CharField(max_length=255, choices=PARTICIPANT_DISABILITY_CHOICES, default=['']) def __str__(self): return f"Response for {self.participant_name}" views.py from django.shortcuts import render, redirect from .forms import ParticipantResponseForm from .models import ParticipantResponse def form_view(request): if request.method == 'POST': form = ParticipantResponseForm(request.POST) if form.is_valid(): # Convert selected disability choices to integers form.cleaned_data['participant_disability'] = [int(choice) for choice in form.cleaned_data['participant_disability']] # Save the form data without committing to the database response = form.save(commit=False) # Assign the disability choices to the response object response.participant_disability.set(form.cleaned_data['participant_disability']) # Save the response object to the database response.save() return redirect('responses') else: print(form.errors) print(request.POST) else: form = ParticipantResponseForm() return render(request, 'form.html', {'form': form}) def show_responses(request): responses = ParticipantResponse.objects.all() print(responses) return render(request, 'responses.html', {'responses': responses}) 表格.py from django import forms from .choices import PARTICIPANT_DISABILITY_CHOICES from .models import ParticipantResponse, Disability class ParticipantResponseForm(forms.ModelForm): PARTICIPANT_DISABILITY_CHOICES = [(str(disability.id), disability.name) for disability in Disability.objects.all()] participant_disability = forms.MultipleChoiceField( choices=PARTICIPANT_DISABILITY_CHOICES, widget=forms.CheckboxSelectMultiple, required=True, label='4 - Deficiência do Participante' ) class Meta: model = ParticipantResponse exclude = [] fields = '__all__' widgets = { 'birth_date': forms.DateInput(attrs={'type': 'date', 'class': 'w3-input', 'id': 'id_birth_date'}), } def __init__(self, *args, **kwargs): super(ParticipantResponseForm, self).__init__(*args, **kwargs) self.fields['participant_disability'].choices = PARTICIPANT_DISABILITY_CHOICES 如果您能帮助我,我将不胜感激。 您的代码中存在多个问题。 首先,在forms.py您的ParticipantResponseForm初始化中,您动态设置participant_disability的选择: PARTICIPANT_DISABILITY_CHOICES = [(str(disability.id), disability.name) for disability in Disability.objects.all()] 这是正确的,但它依赖于数据库中已存在的 Disability 对象。如果“残疾”表中没有任何条目,您的选择将为空。 其次,您正在使用 MultipleChoiceField 和 CheckboxSelectMultiple 小部件。这是处理多个复选框的正确方法。但是,您的模型字段participant_disability是一个CharField,与用户选择的多个选项不一致。对于多项选择,ManyToManyField 会更合适,或者您需要将选项列表作为 CharField 中的单个字符串进行处理。 另一个是,在您的 form_view 函数中,尝试将残疾选项转换为整数,然后使用 response.participant_disability.set(...) 设置它们。这是不必要的,也不会起作用,因为 participant_disability 是 CharField。这段代码看起来就像 participant_disability 是 ManyToManyField。 我的主要建议是将 participant_disability 模型中的 ParticipantResponse 字段更改为引用 ManyToManyField 模型的 Disability,或者通过将所选选项连接/拆分为单个字符串来正确处理 CharField。

回答 1 投票 0

Django - 更新数据库条目(如果存在)或插入将两个表组合在一起的新条目(模型)

我有一个应用程序,可以将两个 Excel 文件合并为一个(来自学生的数据和来自其科目成绩的数据)。因此,一张表用于学生,一张表用于成绩。这是我的 models.py 的样子

回答 1 投票 0

APIView 查询未返回任何结果

我有这样的日子,我认为在这个项目上会很容易的事情结果却并非如此。我觉得我一定在我的

回答 1 投票 0

Django 为什么我的 post.count_views 增加了 2?

大家晚上好,我是 Django 的初学者,我有博客页面详细信息,其中包含博客文章的浏览次数和类别以及博客文章标签和其他人员 我的帖子模型是: 类帖子(模型....

回答 1 投票 0

如何停止 post 方法在基于 Django 类的视图中默认运行

我注意到GET方法和POST方法都在运行。当我没有对该 URL 执行任何 POST 请求时,我只想运行 GET 方法。 班级简介(查看): 模板名称...

回答 3 投票 0

同时包含 DecimalField 和 CharField 的模型字段

我有一个成分类,其中每个对象都有不同的营养值(例如锌、镁、蛋白质等)。此外,每种营养素都有不同的单位(例如毫克、克、千克等)。这个单位...

回答 1 投票 0

在 Django 中提交表单后更改模型数据

我正在使用 ModelForms 在 Django 中编写预订系统,我想在表单保存时更改 ForeginKey 模型中布尔字段的值。 模型.py 类可用时间(模型.模型): 空闲日期 =

回答 1 投票 0

AttributeError /“str”对象没有属性“objects”

你好,我是 django 和 python 的最新成员,这个错误花了我很多时间,我现在不知道问题出在哪里 视图.py 当前用户 = 请求.用户 断言 isinstance(category.objects,

回答 1 投票 0

使用 django pandas 读取两个 Excel 标题

在 Excel 表格中,我需要使用 pandas 读取预算。 前两行是带有标题和内容的列,它们将用作保存在 Sorder 类中的对象。 在第三行...

回答 1 投票 0

无法在 django 中验证多个用户

我的 Django 应用程序中有多个用户模型,一个用于 OLAROOM,另一个用于 REALTOR。如您所见,一切正常,但是当我尝试对它们进行身份验证并重定向它们时

回答 1 投票 0

Django HTML 模板中的双重嵌套循环未获得所需结果

我已经盯着这个有一段时间了,需要一些帮助。 我试图在登录用户已经预订会话的日子里显示“退出”按钮而不是“预订”按钮。可以

回答 2 投票 0

组合两个查询集进行排序,Django [关闭]

我有两个查询集结果。在排序之前我需要合并。在Django中如何解决这个问题呢?它应该将其转换回查询集以将其发送到模板。 尝试将其转换为...

回答 1 投票 0

如何从列中捕获数据并将其添加到表单的下拉菜单中以填充另一个表

这是我的模型。我想捕获“地址”列中的数据,然后将其显示在我用来填写另一个表格的表单的下拉菜单中,而不是输入电子邮件地址...

回答 1 投票 0

如何在 Django 中间件中忽略媒体和静态 URL

我正在尝试重定向无权查看该页面的用户。在我的数据库中,我保存了网址名称。示例 - 公司列表 路径('公司/列表', CompanyListView.as_view(), name='

回答 2 投票 0

用户个人资料未更新且未给出任何错误

我想更新 django 项目中的用户配置文件时遇到问题。它不会更新,不会保存到数据库,也不会在终端中显示任何错误。 表格如下: 来自 DJ...

回答 1 投票 0

仅当调用与该视图对应的模板时,如何在 Django 视图内执行 API 调用

我正在尝试获取应用程序的访问令牌,但在“profile_token”Django 视图中执行 API 调用时遇到问题,因为我只想在以下情况下执行调用...

回答 1 投票 0

Django Csv:writerow 遇到问题

这基本上是我的代码: def export_to_excel(请求): 响应 = HttpResponse(content_type='text/csv') 响应['内容处置'] = '附件;文件名=responds.csv' 作者 = csv。

回答 1 投票 0

Django:设置 template_name 在基于类的视图中不起作用

我有一个 ProductListView: 类 ProductListView(ListView): 型号=产品 template_name = '产品/product_list.html' context_object_name = '产品' 我尝试创建另一个列表...

回答 1 投票 0

您好,当我提交联系页面时,他们会向我显示错误

错误(contact() 得到了意外的关键字参数“name” ) 强文本 模型.py 类联系(模型.模型): 名称 = models.CharField(max_length=50) 电子邮件 = models.EmailField( ) 电话 = 型号.Cha...

回答 1 投票 0

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