Django......url路径有问题?

问题描述 投票:0回答:1

我想建立一个连接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的文章和书籍。

python django django-forms django-views django-urls
1个回答
1
投票

在这里我发现有两个问题。一个是,这里没有名为 work_ch,应该是 doquery:

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

二、在模板中,你需要将 {{form.as_ch}}{{ form.as_p }} 或者只是 {{ form }} 应该可以。

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