[英]DJANGO - FileNotFoundError: [Errno 2] No such file or directory: '' when trying to acess a file
[英]Django FileNotFoundError when trying to add an item to a model
我正在尝试使用 Django 和 python 创建一些模型。 我所有的模型都在工作,我可以向模型添加项目,除了我的用户模型。 任何人都可以建议它可能有什么问题吗?
模型.py
from django.db import models
# Create your models here.
class Item(models.Model):
ID = models.IntegerField(auto_created=True, primary_key=True, unique=True)
Name = models.CharField(max_length=30)
Price = models.IntegerField()
class User(models.Model):
ID = models.IntegerField(auto_created=True, primary_key=True)
Nickname = models.CharField(max_length=50)
Password = models.CharField(max_length=200)
Mail = models.EmailField()
Points = models.IntegerField()
SaleItem = models.ForeignKey(Item, on_delete=models.CASCADE)
ProfilePic = models.FilePathField()
BannerPic = models.FilePathField()
ZodiacSign = models.CharField(max_length=50)
class Friendship(models.Model):
ID = models.IntegerField(auto_created=True, primary_key=True, unique=True)
UserID = models.ManyToManyField(User, related_name="user")
FriendID = models.ManyToManyField(User, related_name="befriended_user")
class ThreadPrivate(models.Model):
ID = models.IntegerField(auto_created=True, primary_key=True, unique=True)
Text = models.TextField()
Sender = models.ForeignKey(User, on_delete=models.CASCADE, related_name="Sender")
Receiver = models.ForeignKey(User, on_delete=models.CASCADE, related_name="Receiver")
Time = models.DateTimeField(auto_now_add=True)
class Side(models.Model):
ID = models.IntegerField(auto_created=True, primary_key=True, unique=True)
Creator = models.ForeignKey(User, on_delete=models.CASCADE, related_name="creator_of_page")
Time = models.DateTimeField(auto_now_add=True)
class ThreadPublic(models.Model):
ID = models.IntegerField(auto_created=True, primary_key=True, unique=True)
Text = models.TextField()
Time = models.DateTimeField(auto_now_add=True)
Sender = models.ForeignKey(User, on_delete=models.CASCADE, related_name="thread_sender")
SideID = models.ForeignKey(Side, on_delete=models.CASCADE, related_name="side_for_thread")
和 admin.py
from django.contrib import admin
from .models import *
# Register your models here.
admin.site.register(Item)
admin.site.register(User)
admin.site.register(Friendship)
admin.site.register(ThreadPrivate)
admin.site.register(Side)
admin.site.register(ThreadPublic)
我记得在 settings.py 等中添加到应用程序中。 除 User 模型外,所有模型都有效。 有任何想法吗?
您必须提供用户模型的 FilePathField 的路径。 根据这个答案,你可以在你的设置中创建变量 FILE_PATH_FIELD_DIRECTORY 然后像这样使用它:
from django.conf import settings
class User(models.Model):
ProfilePic = models.FilePathField(path=settings.FILE_PATH_FIELD_DIRECTORY)
将类的名称更改为 CustomUser 会很有帮助,这样您就不会将其与 django 中的 User 类混淆。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.