我正在尝试构建表单,它连接到PostgreSQL数据库并将信息保存在其中。代码如下: models.py:
from django.db import models
    from django import forms
    from django.urls import reverse
    from django.forms import ModelForm
class ForQuery(models.Model):
    query_id = models.BigAutoField(primary_key=True)//I would like to have my own automatic int field
    worker_name = models.CharField(max_length=35, blank=True, null=True)
    dep_name = models.ForeignKey(Classification, models.DO_NOTHING, db_column='dep_name', blank=True, 
    null=True)forms.py:
class ForQueryForm(forms.ModelForm):
    class Meta: 
        model=ForQuery
        fields=('work_name', 'dep_name')//only one field has to be entered while form. the other chosen.urls.py:
urlpatterns = [
    //both paths are extensions from generic page. Which is the main page for the program
    path('', views.index, name='index'),
    path('worker_ch/', views.worker_ch, name='worker_ch'),
]views.py:
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render, get_object_or_404, redirect
from scrap_site.models import ForQuery
from django.urls import reverse
from django.views.generic import TemplateView, ListView
from django.db.models import Q
from .forms import ForQueryForm
def doquery(request):
    form=ForQueryForm()
    return render(request, 'my_site/worker_ch.html', {'form':form})worker_ch.html:
{% extends "generic.html" %}
{% load static %}
{% block css %}
  <link rel="stylesheet" type="text/css" href="{% static 'css/styles.css' %}">>
{% endblock %}
{% block content %}
<h2>Enter</h2>
<form method="post" class="for-query-form">
    {% csrf_token %}
    {{form.as_ch}}
    <input type="submit" name="" value="Submit">
</form>
{% endblock %}此故障显示为:
File "C:\my_project\ch\ch_site\urls.py", line 22, in <module>
    path('worker_ch/', views.worker_ch, name='worker_ch'),
AttributeError: module 'ch_site.views' has no attribute 'worker_ch'谢谢你的帮助!还在研究Django并试图弄清楚。在我的程序中,我有一个错误,我尝试了不同的方法来绕过它,但它仍然存在……我找不到任何类似的案例来对抗它。如果可能的话,如果你看到我的错误在哪里,并且你看到了一些非常明显的东西,你能告诉我我不明白的地方吗?我觉得我不理解Django的一些重要的东西。感觉就像每次我和Django战斗:(,当我做一些对我来说不同的和新的东西时……就像我在用错误的方式摩擦一只猫。向右或向左走一步,Django,开始在错误后给我错误..虽然我正在阅读Django的教程和文章和书籍。
发布于 2020-05-25 17:03:33
我可以在这里找到两个问题。一个是,没有名为work_ch的视图,它应该是doquery
path('worker_ch/', views.doquery, name='worker_ch'),第二,在模板中,你需要用{{ form.as_p }}或者只用{{ form }}来替换{{form.as_ch}}。
https://stackoverflow.com/questions/61998809
复制相似问题