首页 > 解决方案 > 试图让我的 views.py 和 urls.py 正常工作

问题描述

我目前正在尝试让我创建的数据库显示在我的 Djnago 服务器上,但是我的 FruitModel 不断收到错误消息,说没有对象,但是我已经使用“record = FruitModel.objects”在我的数据库中为 FruitModel 创建了对象。 create(name='banana', price='4.00')。当我加载服务器时,我的 url 也无法显示错误。这是 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),
]

标签: pythondjangodatabasesqliteserver

解决方案


您需要进行以下更改:

#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)

推荐阅读