[英]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.