Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Django request.method==';邮政';返回错误_Javascript_Django_Web Applications_Django Forms_Django Views - Fatal编程技术网

Javascript Django request.method==';邮政';返回错误

Javascript Django request.method==';邮政';返回错误,javascript,django,web-applications,django-forms,django-views,Javascript,Django,Web Applications,Django Forms,Django Views,目前正在开发我的第一个django web应用程序,所以仍然非常生锈。 尝试创建允许讲师创建新类的页面,然后将该类添加到讲师类列表中 据我所知,根据教程,my views.py中的request.method应该返回一个POST,但当前正在返回GET 因此,创建的新类永远不会保存到数据库中 这是我的观点 def create_class(request): if request.user.is_lecturer: print(" ") print("user is lectur

目前正在开发我的第一个django web应用程序,所以仍然非常生锈。 尝试创建允许讲师创建新类的页面,然后将该类添加到讲师类列表中

据我所知,根据教程,my views.py中的request.method应该返回一个POST,但当前正在返回GET

因此,创建的新类永远不会保存到数据库中

这是我的观点

def create_class(request):
if request.user.is_lecturer:

    print(" ")
    print("user is lecturer")
    form = classForm()
    print(request.method)
    if request.method == 'POST':
        print("")
        print("request method equals post")
        form = classForm(request.POST)
        if form.is_valid():

            lecturer = LecturerProfile.objects.get(lecturer=request.user)
            subject = Class.objects.get_or_create(class_name=form.cleaned_data["class_name"],
                                                      class_description=form.cleaned_data["class_description"],
                                                      lecturer=lecturer)
            LecturerProfile.Classes.add(subject)
            form.save(commit=True)
            return index(request)
        else:
            print("")
            print(form.errors)

    else:
        print("")
        print("request method fail")
else:
    return HttpResponse("You are not allowed here")

return render(request, 'student_feedback_app/create_class.html', {'form':form})
forms.py

class classForm(forms.ModelForm):
subject = forms.CharField(max_length=40, help_text="Class Name", required=False)
class_description = forms.CharField(max_length=200, required=False, help_text="Class Description")
slug = forms.CharField(widget=forms.HiddenInput(), required=False)

class Meta:
    model = Class
    fields = ('subject', 'class_description',)
我的create_class.html

<!DOCTYPE html>
<html>

<head>
Create a new class

<h1> Create a new class</h1>
</head>

<body>
<div>
    <form id="" method="post" action="/lecturer/classes/">
        {% csrf_token %}
        {% for hidden in form.hidden_fields %}
            {{ hidden }}
        {% endfor %}
        {% for field in form.visible_fields %}
                    <br>
                    {{ field.errors }}
                    {{ field.help_text }}
                    {{ field }}
        {% endfor %}
        <br>
    <input type="submit" name="submit" value="Create Class" /> </form>

</div>
</body>

</html>

创建一个新类
创建一个新类
{%csrf_令牌%}
{%用于隐藏在表单中。隐藏的_字段%}
{{隐藏}}
{%endfor%}
{%form.visible_fields%}

{{field.errors}} {{field.help_text} {{field}} {%endfor%}
我在终点站发现的错误是

用户正在获取

请求方法失败

[11/Nov/2018 16:27:24]“获取/讲师/创建课程/HTTP/1.1”200 923

找不到:/讲师/create class/js/plugins/jqBootstrapValidation.js

[11/Nov/2018 16:27:24]“GET/讲师/create class/js/plugins/jqBootstrapValidation.js HTTP/1.1”404 4369

从错误来看,这似乎与错误来自的引导程序有关,尽管我没有将其用于任何用途。 我甚至取出了base_template.html并编写了create_class.html,以防它使用javascript和bootstrap,但得到了相同的输出。
非常感谢您的帮助

您确定您的表格正确吗?客户端?如果你真的发布了数据,请与网络调试器联系。很抱歉,我需要更多关于如何检查的说明。你的意思是使用管理界面吗?或者使用像PdbNo这样的实际调试工具,在您提交表单之前不会发布。第一个显示表单的请求是GET。@DanielRoseman啊,是的,我现在意识到,这仍然没有帮助,因为一旦提交表单,我就被卡在同一个位置,无法保存数据。同样,一旦我点击submit,肯定不会发生任何事情,因为我已经退出了if,它不是必须与POST相等吗?好吧,这里有几个错误,但最明显的是,
if-request.POST.get(“create_-class”)
永远不会是真的,因为您的表单中没有任何称为“create_-class”的内容。这种情况有什么意义?我不明白你说的“我已经退出if”是什么意思。