【发布时间】:2018-09-13 14:48:13
【问题描述】:
我正在运行一个django 应用程序,并且我已经实现了 MySQL。当我运行服务器并尝试加载页面时,我收到错误“十六进制 UUID 字符串格式错误”。这发生在第 140 行 init 中的 uuid.py 文件中,据我所知,这是因为值 hex 的长度不是 32,但我不知道如何解决这个问题问题。
这是数据库中的条目遵循的模型。
from django.db import models
import uuid
from django.db.models import (
UUIDField,
CharField,
TextField,
IntegerField,
DecimalField,
ImageField
)
# Create your models here.
class AnimeCatalog(models.Model):
anime_id = UUIDField(primary_key = True, default=uuid.uuid4, editable=False)
name = CharField(max_length=300)
genre = CharField(max_length=300)
typeanime = CharField(max_length = 10)
episodes = IntegerField(default=0)
rating = DecimalField(max_digits = 4, decimal_places = 2, null = True)
members = IntegerField()
anime_cover = ImageField(blank = True, null = True, upload_to = "img/animeCover", verbose_name = "Profile Photo")
然后我尝试在这个模型上调用 objects.all() 方法以从下面的 views.py 文件中的 mysql 中检索它
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from django.views import View
from .forms import AnimeCatalogForm
from .models import AnimeCatalog
from .WebScraping import findAnimePic
import csv
from django.core.paginator import Paginator
# Create your views here.
def home(request):
temp = []
tempID = []
pics = []
fiveNames = []
names = []
new = AnimeCatalog.objects.all()
for line in new:
temp.append(line['name'].replace(''', ''))
tempID.append(line['anime_id'])
for x in range(0,5):
pics.append(findAnimePic(tempID[x],temp[x]))
for x in range(0, len(temp), 5):
for y in range (5):
if not(x+y >= len(temp)):
fiveNames.append({'name':temp[x+y],'img':pics[y]})
names.append(fiveNames)
fiveNames = []
items = {'names': names, 'imgs': pics}
html = render(request, 'home/home.html', {'names':names})
return html
这也是我导入 csv 文件的 mysql 中前几个条目的图片。 Image of mysql database with imported csv files
【问题讨论】:
标签: python mysql django django-models django-views