当前位置: 首页 > 知识库问答 >
问题:

Django窗体用户窗体未被求和

白昊乾
2023-03-14

我需要帮助我的代码。我已经通读了几次代码,我没有看到它有什么问题。期望用户提交作业申请并将用户重定向到仪表板,但它没有提交作业申请,也没有将用户定向到仪表板。这是我的代码:mode.py

from django.db import models
from django.contrib.auth.models import User


class Job(models.Model):
    title = models.CharField(max_length=255)
    short_description = models.TextField()
    long_description = models.TextField(blank=True, null=True)


    created_by = models.ForeignKey(User, related_name='jobs', on_delete=models.CASCADE)
    created_at = models.DateTimeField(auto_now_add=True)
    changed_at = models.DateTimeField(auto_now=True)


    def __str__(self):
        return self.title

class Application(models.Model):
    job = models.ForeignKey(Job, related_name='applications', on_delete=models.CASCADE)
    content = models.TextField()
    experience = models.TextField()

    created_by = models.ForeignKey(User, related_name='applications', on_delete=models.CASCADE)
    created_at = models.DateTimeField(auto_now_add=True)

Views.py

from django.shortcuts import render, redirect

从django.contrib.auth.decorators进口login_required

从。窗体导入addJobForm,应用程序窗体从。模型导入作业

defjob_detail(请求,job_id):作业=Job.objects.get(pk=job_id)返回渲染(请求,'作业/job_detail.html',{'作业':作业})

@需要登录定义添加作业(请求):如果请求。方法==“POST”:form=AddJobForm(request.POST)

    if form.is_valid():
        job = form.save(commit=False)
        job.created_by = request.user
        job.save()

        return redirect('dashboard')

else:
    form = AddJobForm()

return render(request, 'jobs/add_job.html', {'form': form})

@登录所需def apply(申请,作业id):作业=作业。物体。获取(pk=作业\u id)

if request.method == 'POST':
    form = ApplicationForm(request.POST)

    if form.is_valid():
        application = form.save(commit=False)
        application.job = job
        application.created_by = request.user
        application.save()

        #create_notification(request, job.created_by, 'application', extra_id=application.id)

        return redirect('dashboard')
else:
    form = ApplicationForm()

return render(request, 'jobs/apply_for_job.html', {'form': form, 'job': job})

forms.py

from django import forms

从模型导入工作,应用程序

类AddJobForm(forms.ModelForm):类Meta:model=Job字段=['title','short\u description','long\u description']

类ApplicationForm(forms.ModelForm):类Meta:model=应用程序字段=['content','experience']

申请工作。html

{% extends 'core/base.html' %}

{%块内容%}申请工作-{{job.title}}

<form method="post" action=".">
    {% csrf_token %}

    {% if form.errors %}
        {% for error in form.errors %}
            <div class="notification is-danger">
                {{ error }}
            </div>
        {% endfor %}
    {% endif %}

    <div class="field">
        <label>Content</label>

        <div class="control">
            <textarea class="textarea" name="content" id="id_content"></textarea>
        </div>
    </div>

    <div class="field">
        <label>Experience</label>

        <div class="control">
            <textarea class="textarea" name="experience" id="id_experience"></textarea>
        </div>
    </div>

    <div class="field">
        <div class="control">
            <button class="button is-success">Submit</button>
        </div>
    </div>
</form>

{%endblock%}

我的代码可能有什么问题?

共有1个答案

赏光霁
2023-03-14

这一行的错误

<form method="post" action=".">

只要删除这个点,它就会起作用,

<form method="post" action="">
 类似资料:
  • 我有一个名为Ad的实体类,它包含如下字段 问题是当我试图使用这个实体创建表单时,横幅文本字段不显示(不呈现),只有标签。 我注意到字段的id是ad_banner如果我改变浏览器检查元素中的id,它将被显示... Symfony中ad_banner什么,为什么它隐藏它? 我不想改变字段的名称,也不想改变树枝上的id,因为我想保持简单,就像这样: 我试图从表单生成器更改字段的id,但没有成功。谢谢你!

  • 我有一个简单的申请与2个表格。一个表单(form1)允许用户在列表框中选择记录。一旦进行了选择,第二个表单(form2)就应该用第一个表单中的数据更新。 用户应该能够选择一个不同的记录,第二个表单应该用新的数据更新。 我上面展示的只是创建更多的form2版本,它没有更新form2的当前迭代。

  • 本文向大家介绍jQuery实现iframe父窗体和子窗体的相互调用,包括了jQuery实现iframe父窗体和子窗体的相互调用的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现iframe父窗体和子窗体的相互调用方法。分享给大家供大家参考,具体如下: 父窗体 子窗体 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》、《jquery中A

  • 主要内容:在应用程序中添加菜单和子菜单,在窗体中添加剪切,复制和粘贴功能,在窗体中锚定和停靠控件,模态窗体在本章中,我们来学习以下概念和功能应用: 在应用程序中添加菜单和子菜单 在窗体中添加剪切,复制和粘贴功能 锚定和停靠控件在窗体中 模态窗体 在应用程序中添加菜单和子菜单 传统上,,,和类用于在Windows应用程序中添加菜单,子菜单和上下文菜单。 现在,使用,,和控件替换并添加功能到以前版本的菜单相关的控件。但是,为了向后兼容和将来使用,保留了旧的控制类。 先使用旧版本控件创建一个典型的Wi

  • 主要内容:示例访问包括一个导航控件,可以很容易地在数据库中的各种形式和报告之间切换。 导航窗体只是一个包含导航控件的窗体。导航窗体是任何桌面数据库的重要补充。 Microsoft Access提供了几个用于控制用户如何导航数据库的功能。 我们已经使用导航窗格浏览了创建的所有Access对象,例如窗体,查询,表格等等。 如果想要创建自己的导航结构并使用户更容易找到他们真正需要的特定对象,则可以构建导航窗体,该窗体

  • 主要内容:绑定窗体,非绑定窗体,绑定窗体的类型,创建窗体Access中的窗体(也叫表单)就像商店中的展示柜一样,可以更容易地查看或获取所需的商品。 由于窗体是您或其他用户可以通过其添加,编辑或显示存储在Access桌面数据库中的数据的对象,因此窗体的设计是一个重要方面。 有很多你可以用Microsoft Access中的窗体进行设计。可以创建两种基本类型的窗体 - 绑定窗体 非绑定窗体 绑定窗体 让我们现在了解绑定窗体是什么 - 绑定窗体连接到一些底层