试图让我的 views.py 和 urls.py 正常工作

Posted

技术标签:

【中文标题】试图让我的 views.py 和 urls.py 正常工作【英文标题】:trying to get my views.py and urls.py to work properly 【发布时间】:2021-06-29 03:31:22 【问题描述】:

我目前正试图让我创建的数据库显示在我的 Djnago 服务器上,但是我的 FruitModel 不断收到错误消息,说没有对象,但是我使用“record = FruitModel”在我的数据库中为 FruitModel 创建了对象.objects.create(名称='香蕉',价格='4.00')。 加载服务器时,我的网址也无法显示错误。 这是我的代码 Views.py 和 urls.py:

(views.py code)
from django.shortcuts import render, redirect
from catalog.models import FruitModel
from catalog.forms import FruitForm
from django.http import HttpResponse
# Create your views here.

def FruitView(request):
    fruit = FruitModel.objects.all()
 
    html = ''
    for fruits in fruit:
        var = f'<li> fruits.name </li><br>'
        html = html + var
    return HttpResponse(html,status = 200)

def FruitIDView(request,name):
    fruits = FruitModel.objects.get(name = f'fruits.name')

    html = f'<h2>fruits.name</h2><br>'
    return HttpResponse(html, status=200)

(urls.py code)
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from catalog import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^FruitView/?$', views.FruitView),
]

【问题讨论】:

你能告诉我们回溯吗? 【参考方案1】:

您需要进行以下更改:

#urls.py

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^FruitView/?$', views.FruitView),
    path('FruitIDView/<str:naam>', views.FruitIDView), #use path instead of url
]

#models.py (if not created)

class FruitModel(models.Model):
    name = models.CharField(max_length=200,null=True,blank=True)
    price = models.IntegerField()


#views.py
def FruitView(request):
    fruit = FruitModel.objects.all()
 
    html = ''
    for fruits in fruit:
        var = f'<li> fruits.name </li><br>'
        html = html + var
    return HttpResponse(html,status = 200)

def FruitIDView(request,naam):
    fruits = FruitModel.objects.get(name = naam) #how can  you use fruits.name here

    html = f'<h2>fruits.name</h2><br>'
    return HttpResponse(html, status=200)

#admin.py (if not created)

from .models import *
# Register your models here.
admin.site.register(FruitModel)

【讨论】:

以上是关于试图让我的 views.py 和 urls.py 正常工作的主要内容,如果未能解决你的问题,请参考以下文章

将一个变量(一个标志)从 urls.py 传递给 django 中的 views.py

使用TDD理解views.py与urls.py的关系

当我们可以通过在urls.py中的views.py和urls中添加视图时,是否需要在ModelAdmin类的管理页面中添加自定义视图?

二 Django框架,urls.py模块,views.py模块,路由映射与路由分发以及逻辑处理——url控制器

Django 和 urls.py:如何通过命名 url 进行 HttpResponseRedirect?

如何为 views.py 方法编写 URL