首页 > 解决方案 > Django ... url 路径中的错误?

问题描述

我正在尝试构建表单,它连接到 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)

表格.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.

网址.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'),
]

视图.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 的教程和阅读文章和书籍。

标签: pythondjangodjango-formsdjango-viewsdjango-urls

解决方案


我可以在这里找到两个问题。一是,没有名为的视图work_ch,它应该是doquery

path('worker_ch/', views.doquery, name='worker_ch'),

二,在模板中,您需要用其中一个替换{{form.as_ch}}{{ form.as_p }}应该{{ form }}工作。


推荐阅读