将图像上传到 firebase 并在 sqlite DJango 中保存 url

2024-04-22

突然有人可以指导我。 我制作了一个应用程序,人们有一个正常的个人资料,有一系列可以修改个人资料照片的字段,在本地它工作得很好,但是,当将其部署在heroku(免费帐户)中时,这是不可能的,因为heroku在其免费版本中确实不处理动态文件,或者至少这是我的理解,所以我想将图像保存在 firebase 中,仅将 url 保存在数据库中。有人知道我该怎么做吗? 非常感谢您的回答

这是当前的代码

views.py

def edit_profile(request):
    if request.method == 'POST':
        form = UEditF(request.POST, instance=request.user)
        extended_profile_form = ProfileForm(request.POST, request.FILES,
                                            instance=request.user.profile)
        if form.is_valid() and extended_profile_form.is_valid():
            form.save()
            extended_profile_form.save()
            return redirect('/polls/perfil')
    else:
        form = UEditF(instance=request.user)
        extended_profile_form = ProfileForm(instance=request.user.profile)

    context = {
        'form': form,
        'extended_profile_form':extended_profile_form
    }
    form.fields['password'].help_text = 'Para cambiar la contraseña has clic en el menú superior derecho "Cambiar contraseña"'
    return render(request, 'registration/edit_profile.html', context)

forms.py

class UEditF(UserChangeForm):

    class Meta:
        model = User
        fields = ['first_name', 'last_name']

class ProfileForm(forms.ModelForm):

    birth_date = forms.DateField(widget=DatePickerInput(format='%d/%m/%Y'), label='Fecha de nacimiento')
    photo = forms.ImageField(label="Foto de perfil")

模型.py

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    birth_date = models.DateField('Fecha de nacimiento', default=date.today)
    photo = models.ImageField('Foto de perfil', upload_to='media/',
                              max_length=200, default='default.png')

按着这些次序:

  1. 将 Cloudinary 插件添加到您的 Heroku 应用程序中。

  2. 单击cloudinary并安装它。

  3. 然后单击 Cloudinary 插件。

  4. 从此仪表板您将能够看到您的凭据 连接。

5)然后转到您的项目:

IN your terminal type these commands:

pip install django-cloudinary-storage
    
pip install cloudinary
    
pip install Pillow

6)在你的settings.py中:

INSTALLED_APPS = [
       'django.contrib.staticfiles',   
       'cloudinary_storage',
       'cloudinary',
        ]

CLOUDINARY_STORAGE = {
             'CLOUD_NAME': 'your_cloud_name',
             'API_KEY': 'your_api_key',
             'API_SECRET': 'your_api_secret'
            }

MEDIA_URL = '/media/'  # or any prefix you choose
 
DEFAULT_FILE_STORAGE='cloudinary_storage.storage.MediaCloudinaryStorage'

7)在models.py中:

class TestModel(models.Model):
             name = models.CharField(max_length=100)
             image = models.ImageField(upload_to='images/', 
             blank=True)

8) 现在,为了将此图像放入您的模板中,您只需输入:

 <img src="{{ test_model_instance.image.url }}" alt="{{ 
    test_model_instance.image.name }}">

9)需求.txt:

...
cloudinary==1.17.0
django-cloudinary-storage==0.2.3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将图像上传到 firebase 并在 sqlite DJango 中保存 url 的相关文章

  • 让 argparse 收集但不响应标志

    我有一个脚本 它接受一些参数 使用其中一些参数来选择要运行的脚本 并将其余参数传递给该脚本 所以它看起来像这样 parser ArgumentParser parser add argument script choices a b par
  • Firebase获取孩子ID swift ios

    我的 Firebase 看起来像这样 贝娄Active Orders看来childs根据他们的不同有不同的名字UID 用户身份 这是我的代码 用于获取孩子的 ID 无论孩子的名字是什么 但它似乎根本不起作用 获得的正确方法是什么child
  • 如何使用Python中的or-tools解决累积旅行商问题?

    累积旅行商问题 CTSP 的目标是最小化到达客户的时间总和 而不是总旅行时间 这与最小化总旅行时间不同 例如 如果一个人拥有无限的车辆 车辆与位置数量相同 并且目标是最大限度地减少到达位置的总时间 则可以为每个位置发送一辆车 因为这是满足所
  • Python 中的参数命名约定

    对于形式参数密切相关的函数 例如 def add two numbers n1 n2 return n1 n2 def multiply two numbers n1 n2 return n1 n2 如上所示 为两个函数中的参数指定相同的名
  • 为什么 Contextmanager 会抛出运行时错误“生成器在 throw() 之后没有停止”?

    在我的 utility py 中 contextmanager def rate limit protection max tries 3 wait 300 tries 0 while max tries gt tries try yiel
  • 具有动态特性的 Python 嵌套作用域

    需要帮助理解以下句子PEP 227 http www python org dev peps pep 0227 和Python 语言参考 http docs python org reference executionmodel html
  • python数据结构(类似设置)在添加重复项时抛出异常

    我正在寻找一种在添加重复元素时会引发异常的数据结构 我发现的最接近的是collections Counter gt gt gt from collections import Counter as counter gt gt gt c co
  • 从可变长度字符串中解析值的最佳方法是什么?

    假设我有一个由可变长度的逗号分隔的整数字符串 分割字符串并用值更新变量 如果存在 的最佳方法是什么 目前 我有以下内容 a b c 10 10 1 default values mylist int x for x in input spl
  • 如何使用包含 \n 的 .txt 创建一维列表?

    我想读取一个文本文件并将文件的每个元素放入一个列表中 而不是为文件中的每一行都有一个单独的列表 例如 如果文件是 你好我的名字 Is Joe 我希望列表是 你好 我的名字是 Joe 而不是 你好 我的名字 是乔 这是我到目前为止所拥有的 d
  • 如何通过检查传递给 pytest_runtest_teardown 的 Item 对象来确定测试是否通过或失败?

    Pytest 允许您通过实现一个名为的函数来进入每个测试的拆卸阶段pytest runtest teardown在插件中 def pytest runtest teardown item nextitem pass 是否有一个属性或方法it
  • 找出段落中出现的单词

    sentence Alice was not a bit hurt and she jumped up on to her feet in a moment words Alice jumped played 我可以使用filterpyth
  • 标记 pandas 系列中连续的 True 元素组

    我有一系列的 pandas 布尔值 我想标记连续的 True 值组 怎么可能做到这一点 是否可以以矢量化的方式做到这一点 任何帮助将不胜感激 Data A 0 False 1 True 2 True 3 True 4 False 5 Fal
  • Python Pandas 系列失败日期时间

    我认为这一定是 pandas 的失败 有一个 pandas 系列 v 18 1 和 19 如果我为该系列分配一个日期 第一次将其添加为 int 错误 第二次将其添加为 int 错误 添加为日期时间 正确 我无法理解原因 例如使用以下代码 i
  • 如何在google colaboratory上使用GPU升级tensorflow

    目前google colaboratory使用tensorflow 1 4 1 我想升级到1 5 0版本 每次当我执行时 pip install upgrade tensorflow命令 notebook实例成功将tensorflow版本升
  • Python Flask 不更新图像[重复]

    这个问题在这里已经有答案了 这里有一些关于图像的 Flask 问题 但没有一个能解决我的问题 我有一个应用程序可以创建图像 保存它 然后显示它 一次 它应该多次执行此操作 每次更改图像时 它应该加载新图像 它不是 它只显示与其显示的文件名关
  • python散景中的反转轴

    我正在尝试反转 y 轴并在散景散点图中设置 x 和 y 的范围 我在用 BokehPlot bokeh scatter data df x range min utc max utc y range min val max val 我收到错
  • 检查数组中是否有 3 个连续值高于某个阈值

    假设我有一个像这样的 np array a 1 3 4 5 60 43 53 4 46 54 56 78 有没有一种快速方法来获取 3 个连续数字都高于某个阈值的所有位置的索引 也就是说 对于某个阈值th 得到所有x其中 a x gt th
  • 从多个 .csv 文件创建混淆矩阵

    我有很多具有以下格式的 csv 文件 338 800 338 550 339 670 340 600 327 500 301 430 299 350 284 339 284 338 283 335 283 330 283 310 282 3
  • 无法让我的脚本自动生成一些值以在有效负载中使用

    我创建了一个脚本 通过随后发送两个 https 请求来从目标页面获取 html 元素 我的脚本可以完美地完成这件事 但是 我必须从 chrome 开发工具复制四个值来填充其中的四个键payload为了发送最终的http请求到达目标页面 这是
  • 每次都在django查询数据库中过滤查询集吗?

    想象一下我有以下代码 qs Users objects all list for i in range 10 list append qs filter age i 这里过滤器被调用 10 次 它是连接到数据库 10 次还是第一次使用过滤器

随机推荐

  • 如何配置@typescript-eslint规则

    我正在尝试转换为 typescript eslint但文档似乎非常缺乏 例如 我收到这样的错误 Line 58 Expected a semicolon typescript eslint member delimiter style 我想
  • 显示默认展开的 Android 通知操作按钮

    有没有办法在默认展开的通知中显示操作按钮 我使用持续通知来控制应用程序中的训练过程 我希望在通知区域中出现通知后立即显示 停止 和 暂停 等控制按钮 您无法展开通知 唯一的解决方案是 设置 优先级最大 然后将其展开到通知列表的顶部 这也取决
  • 在shinyapp中包含来自网络的图像的LaTeX PDF

    我曾经能够将来自 URL 的图像包含在由闪亮的应用程序生成的 PDF 报告中 url com 几个 markdown 版本之后我收到以下错误 Unable to load picture or PDF file https i0 wp co
  • 通过函数向 with() 传递参数

    有一种方法可以将参数从函数传递给with 就像是 dados lt data frame x 1 10 v1 rnorm 10 v2 rnorm 10 with dados v1 v2 Works func lt function data
  • 使用相同的 Symfony 2 表单进行编辑和删除(字段差异)

    目前我有一个表格 class Project extends AbstractType public function buildForm FormBuilder builder array options builder gt add n
  • 在 os x 上编译 libuv 的库?

    我正在尝试学习一些 libuv 似乎有一本很棒的书介绍了它 然而 这本书并没有解释如何实际编译它 我对从 github 中提取的代码运行 make 并按照 github 上的描述使用 GYP 进行编译 https github com jo
  • Hive - 通过聚合跨组的值来创建映射列类型

    我有一个看起来像这样的表 customer category room date 1 A aa d1 1 A bb d2 1 B cc d3 1 C aa d1 1 C bb d2 2 A aa d3 2 A bb d4 2 C bb d4
  • 按键列合并两个 data.frames

    我有两个数据框 在第一个中 我有一个 KEY ID 列和两个变量 KEY V1 V2 1 10 2 2 20 4 3 30 6 4 40 8 5 50 10 在第二个数据框中 我有一个 KEY ID 列和第三个变量 KEY V3 1 5 2
  • 以编程方式调用多部分表单方法

    我的 WebApi 有以下方法 HttpPost Route foo bar Consumes multipart form data DisableRequestSizeLimit public async Task
  • CakePHP ajax 帖子不断返回 400 Bad Request

    我正在尝试使用 ajax post 来执行操作 GET 请求工作正常 但当我尝试 POST 时 我在 firebug 中看到 400 Bad Request 并且视图返回 黑洞 响应 这是 Jquery 请求 ajax url usermg
  • 如何将 Kivy 的一个财产绑定到另一个财产?

    我想将小部件的属性绑定到子小部件的属性 因此 当根小部件属性更改时 更改也会传播到子属性 我这样尝试过 self Child MyProperty self MyProperty 这有时有效 但有时它不起作用 我无法找出它何时起作用 为什么
  • MediaPlayer.prepare() 在 Android L 上抛出 IllegalStateException

    我有从 asset 目录播放 mp3 文件的代码 MediaPlayer mediaPlayer new MediaPlayer descriptor context getAssets openFd beep mp3 mediaPlaye
  • 将字符串转换为 UTF-8

    例如 我有一个分配给编码为 ansi 的变量的字符串str 如何将其编码为 UTF 8 你的意思是当它写入文件时 像这样 Set stream CreateObject ADODB Stream stream Open stream Typ
  • Pylint 找不到 SQLAlchemy 查询成员

    我有一个使用 Flask SQLAlchemy v2 0 的 Flask v0 10 1 应用程序 我正在尝试配置 Pylint 来检查它 使用 Python 3 4 2 运行 第一个错误是 Instance of SQLAlchemy h
  • Unix域SOCK_DGRAM和SOCK_SEQPACKET之间的区别?

    根据 Unix 套接字的 Linux 手册页 UNIX 域中的有效套接字类型是 SOCK DGRAM 对于保留消息边界的面向数据报的套接字 与大多数 UNIX 实现一样 UNIX 域数据报套接字始终可靠且不可靠 不重新排序数据报 以及 自
  • 发送 HTTP 标头后,服务器无法附加标头

    我在我的 ASP NET C Web 应用程序中间歇性地收到此异常 发送 HTTP 标头后 服务器无法附加标头 这是由于应用程序在发送页面后将内容附加到页面响应标头而引起的 我不确定为什么它是间歇性的 但我需要做的是在修改标题之前执行检查
  • 从另一个类调用 RecyclerView.Adapter 上的 notificationItemChanged()

    我有一个RecyclerView in AdapterActivity 单击其任何项目后 我使用我的更新该项目AlertDialogShow UpdateStudent 方法 我的问题是无法刷新Adapter在 的里面UpdateStude
  • 内联汇编中的内存偏移

    在 A64 汇编器中 有不同的方法来指定地址 base 0 Simple register exclusive Immediate Offset base imm Offset Immediate Offset base Xm LSL im
  • MT5212:本机链接失败,重复符号:'_OBJC_IVAR_$_FIRInstanceID._tokenManager'

    我通过绑定本机目标 c 库创建了 iOS dll 文件 直到现在一切都工作正常 xamarin ios 应用程序也工作正常 现在 我已在本机 Objective C 库中添加了 Firebase 框架 Firebase Auth 数据库 分
  • 将图像上传到 firebase 并在 sqlite DJango 中保存 url

    突然有人可以指导我 我制作了一个应用程序 人们有一个正常的个人资料 有一系列可以修改个人资料照片的字段 在本地它工作得很好 但是 当将其部署在heroku 免费帐户 中时 这是不可能的 因为heroku在其免费版本中确实不处理动态文件 或者