gpt4 book ai didi

python - Django 中的 URLField() 可以加载本地主机路径吗?

转载 作者:行者123 更新时间:2023-12-04 23:31:56 26 4
gpt4 key购买 nike

我正在通过示例书 django2 学习 django,并且我正在构建一个社交媒体网站,用户可以在网站上共享图像。完成了一个功能,它使用书签工具(javascript)从其他网站加载图像,然后上传到我的网站,但我想在此基础上再创建一个功能。我想让用户上传本地主机中的图像。

模型.py

class Image(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='images_created', on_delete=models.CASCADE)
title = models.CharField(max_length=200)
slug = models.SlugField(max_length=200,blank=True)
url = models.URLField()
image = models.ImageField(upload_to='images/%Y/%m/%d')
description = models.TextField(blank=True)
created = models.DateField(auto_now_add=True,db_index=True)
users_like = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='images_liked', blank=True)
total_likes = models.PositiveIntegerField(db_index=True, default=0)

def __str__(self):
return self.title

def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
super(Image, self).save(*args, **kwargs)

def get_absolute_url(self):
return reverse('images:detail', args=[self.id, self.slug])

当我写一个像 "file://localhost/D:%5C1stu%5Cu=1422291456,3249037427&fm=173&app=25&f=JPEG.jpg" 这样的网址时
django 网站提醒我“ (Hidden field url) Enter a valid URL."谁能告诉我 Django 中的 URLField() 可以加载本地主机路径吗?以及如何加载?

最佳答案

是的,你可以,但你得到错误的原因是 django URLfield 使用 url 验证器来验证 url,你可以在这个链接上检查它:
https://docs.djangoproject.com/en/3.0/ref/validators/#django.core.validators.URLValidator

现在,URL 验证器默认使用 ['http', 'https', 'ftp', 'ftps'] 如果没有为其提供任何验证,这就是您收到错误的原因,您使用"file"。如果您必须使用 localhost url 验证 url 字段。

访问此链接:
Django URLField with custom scheme

我希望这对你有帮助。

关于python - Django 中的 URLField() 可以加载本地主机路径吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59226787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com