小编Jas*_*ard的帖子

类型错误:“MediaDefiningClass”对象不可迭代

我正在尝试实现 django-progressbarupload。

https://github.com/ouhouhsami/django-progressbarupload

我收到以下错误:

对于 model_or_iterable 中的模型:TypeError: 'MediaDefiningClass' 对象不可迭代

管理文件

from django.contrib import admin
from accounts.models import UserProfile

class UserProfile(admin.ModelAdmin):
    change_form_template = 'progressbarupload/change_form.html'
    add_form_template = 'progressbarupload/change_form.html'

admin.site.register(UserProfile)
Run Code Online (Sandbox Code Playgroud)

这是回溯

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\jason\AppData\Local\Programs\Python\Python36\lib\site-packages\django\core\management\__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "C:\Users\jason\AppData\Local\Programs\Python\Python36\lib\site-packages\django\core\management\__init__.py", line 347, in execute
    django.setup()
  File "C:\Users\jason\AppData\Local\Programs\Python\Python36\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\jason\AppData\Local\Programs\Python\Python36\lib\site-packages\django\apps\registry.py", line 120, in populate
    app_config.ready()
  File "C:\Users\jason\AppData\Local\Programs\Python\Python36\lib\site-packages\django\contrib\admin\apps.py", line 23, in ready
    self.module.autodiscover()
  File "C:\Users\jason\AppData\Local\Programs\Python\Python36\lib\site-packages\django\contrib\admin\__init__.py", line 26, in …
Run Code Online (Sandbox Code Playgroud)

django

15
推荐指数
1
解决办法
8370
查看次数

用于 SMTP 的 G Suite 和 Django

我正在让 G Suite 与我的 django 站点一起工作,以便它将替换我主机的 SMTP 服务器。我在我的虚拟主机的配置面板中配置了我的域。结果,当我向 support@mysite.com 发送电子邮件时,我可以看到它已成功发送到 Google 帐户,这很棒。

我的应用程序设置为在有人尝试注册后发送确认电子邮件。

我已经完成了我认为使用 django 项目设置 G Suite 所需的所有步骤,但是当我的项目在有人注册后尝试发送确认电子邮件时,我仍然收到错误消息。具体来说,我在 Django 错误页面上看到以下内容:

SMTPServerDisconnected at /access/register/ Connection unexpectedly closed
Run Code Online (Sandbox Code Playgroud)

我已经完成了以下步骤:

1.我已经设置了 SMTP 中继服务 ( https://support.google.com/a/answer/2956491 ),这意味着我已经:

2.在我的 django 设置文件中,我使用了以下设置:

EMAIL_HOST = 'smtp-relay.gmail.com'
EMAIL_HOST_USER = 'support@mysite.com'
EMAIL_HOST_PASSWORD = '********'
DEFAULT_FROM_EMAIL = 'support@mysite.com'
SERVER_EMAIL = 'support@mysite.com'
EMAIL_PORT = 465 
EMAIL_USE_TLS = False
Run Code Online (Sandbox Code Playgroud)

我还应该提到,通过以下设置,在我开始实施 G Suite 之前,我的应用程序能够在向虚拟主机的 SMTP 服务器注册后发送验证电子邮件,以便我知道应用程序的那部分工作正常。

EMAIL_HOST = 'smtp.mywebhost.com'
EMAIL_HOST_USER = 'admin'
EMAIL_HOST_PASSWORD = …
Run Code Online (Sandbox Code Playgroud)

django django-settings google-workspace

7
推荐指数
1
解决办法
3614
查看次数

从验证器访问模型实例

我将如何访问正在验证器中针对特定字段进行验证的模型实例?

模型.py

def question_instances(value):  #validator     
   # not sure how to get model instance within this function

   industry = model_instance.industry
   questions = Question.objects.filter(industry=industry)
   if questions.count() > 3:
      raise ValidationError('Too many questions for this industry')

class ExampleQuestion(models.Model):
    industry = models.ForeignKey(Industry, on_delete=models.CASCADE)    
    question = models.CharField(max_length=200, validators=[question_instances])

    def __str__(self):
        return self.industry.industryname
Run Code Online (Sandbox Code Playgroud)

django django-models

7
推荐指数
1
解决办法
314
查看次数

可以在基于函数的视图中使用 mixin 吗?

就像标题所说的那样,我想知道是否可以在基于函数的视图中使用 mixin。如果是这样,我将如何导入它?以下代码不起作用:

def payment_method_view(request, MyMixin):  
Run Code Online (Sandbox Code Playgroud)

谢谢!

django django-views

2
推荐指数
1
解决办法
1021
查看次数

从弹性beanstalk获取日志文件

我正在弹性豆茎上运行一个 django 项目。如果我将 django 日志文件保存到 ec2 实例上的特定文件夹中,当我运行“eb log -a”时是否也可以获得这些文件?

如果是这样,我需要将日志保存到实例上的哪个文件路径?

谢谢!

amazon-ec2 amazon-web-services amazon-elastic-beanstalk

2
推荐指数
1
解决办法
4044
查看次数

获取表单集中的表单ID

我需要一种方法来将包含表单集中每个表单的div的ID设置为一个值,该值包含代表该表单索引的数字。

例如。我希望第二个表单有一个看起来像这样的父div

<div id="1">  #id could even be "id_form-1-id".
     form
</div>
Run Code Online (Sandbox Code Playgroud)

我发现{{form.id}}会产生以下结果:

<input type="hidden" name="form-3-id" id="id_form-3-id">
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以使用模板标记从该字符串中仅提取id值(即id_form-3-id)?

出于我不愿讨论的原因,forloop.counter计数器将无法可靠地返回索引,因为可以在典型的for循环表单集之外创建表单集中的某些表单。

谢谢!

django django-templates

1
推荐指数
1
解决办法
391
查看次数

运行 python 项目的 EC2 实例上的 HTTPS

我在运行 python 项目的 EC2 实例上很难解析 HTTPS。请求只是超时(ERR_CONNECTION_TIMED_OUT)。但是,HTTP 运行正常。我采取的步骤如下。

  1. 我在 ACM 中为以下域创建了一个证书:*.mywebsite.com 和 mywebsite.com

在此处输入图片说明

  1. 我已按如下方式设置 Route 53:

在此处输入图片说明

A 记录的路由策略很简单。

  1. 我已经进入了我的 EC2 实例的负载均衡器的侦听器,并将端口从 80 (HTTP)更改为 443 (HTTPS) 并添加了我的证书。

注意:“转发到”是在端口 80 (HTTP) 上运行的目标组。我读到这是正确的。

在此处输入图片说明

  1. 然后我进入了我的安全组的入站规则,并添加了 HTTPS

在此处输入图片说明

在这一点上,我有以下问题:

a) 鉴于这是一个 python/Django 项目,是否可以通过 aws 网站为 EC2 启用 HTTPS,或者我是否需要添加配置文件并部署到我的实例?

b) 我需要创建一个在 HTTPS 上运行的目标组吗?

c) 我的负载平衡需要监听端口 80 和端口 443 还是仅端口 443?

d) 在我的安全组中,我是否需要端口 80 才能访问 0.0.0.0/0 和 ::0/?

e) A 记录应该是负载均衡器的 DNS 名称还是我的环境的 CNAME?

谢谢你的帮助!一旦我们在这里得到答案,我将编写一个指南并将其发布在 youtube 上。

python django amazon-ec2 amazon-web-services

0
推荐指数
1
解决办法
391
查看次数