标签: django-settings

使用django-allauth时,Django无法找到静态文件

当我使用allauth时,除了Django现在无法找到静态文件外,一切似乎都能正常工作.没有allauth所有静态文件都被渲染.allauth的设置需要添加

TEMPLATE_CONTEXT_PROCESSORS = (

    "allauth.context_processors.allauth",
    "allauth.account.context_processors.account"
)
Run Code Online (Sandbox Code Playgroud)

我之前的设置文件中没有TEMPLATE_CONTEXT_PROCESSORS.有什么东西我错过了吗?我该如何解决这个问题.当我看到DEBUG控制台时,我可以看到它正在尝试获取css文件

"GET /accounts/login/css/contact.css"
Run Code Online (Sandbox Code Playgroud)

而它应该这样做

"GET /static/css/contact.css"
Run Code Online (Sandbox Code Playgroud)

django django-templates django-settings django-staticfiles

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

如何迭代Django中的所有设置?

如何迭代所有Django设置?我需要阅读所有开头的设置MYAPP_.

我试过这样做:

from django.conf import settings

for setting in settings:
    print setting
Run Code Online (Sandbox Code Playgroud)

...但我得到以下异常:

TypeError: 'LazySettings' object is not iterable
Run Code Online (Sandbox Code Playgroud)

有关如何实现这一目标的任何想法?

python django django-settings

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

在两个不同的EC2实例上设置Django和PostgreSQL

Hello StackOverFlowers :)到目前为止我一直在同一个微EC2实例上运行我的Django后端和我的PostgreSQL数据库.

我已经设置了两个EC2实例,一个用我的django后端,另一个用我的PostgreSQL数据库,我使用pgadminII来管理它.两个实例都使用相同的安全组,并打开所有相同的端口.我已将弹性IP附加到我的Django实例,并将另一个弹性IP附加到我的Postgresql实例.

现在我知道在settings.py中我需要将'HOST'更改为PostgreSQL实例的地址.但我不太清楚该放什么.我是否放置了PostgreSQL实例的弹性IP?

我做了一些研究,很多消息来源说我需要输入PostgreSQL实例的内部服务器IP地址.如果是这种情况,我怎样才能找到内部服务器IP地址并将其输入"主机"?为了清楚起见,我复制并粘贴了下面的settings.py代码.

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', 
'NAME': 'django_db', 
'USER': 'django_login',
'PASSWORD': 'password', 
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助,如果我不够清楚,请发表评论并告诉我,以便我能为您和其他人更清楚:)

django postgresql amazon-ec2 django-settings pgadmin

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

名称'设置'未定义

我在这些行中添加了用于媒体和图像输出到模板的URL.但我遇到了这样的错误. 名称'设置'未定义 如何解决?

urlpatterns =+ patterns('',
    url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
        'document_root': settings.STATIC_ROOT,
    }),
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
        'document_root': settings.MEDIA_ROOT,
    }),
Run Code Online (Sandbox Code Playgroud)

python django django-settings

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

在 Django 的 settings.py 中导入模型

我正在尝试使用模型类的值定义一个常量,settings.py以便为我的模型之一提供动态定义的 FK:

from catalog.models import Product
PRODUCT_MODEL = Product
Run Code Online (Sandbox Code Playgroud)

毫不奇怪,它会导致AppRegistryNotReady异常:

django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Run Code Online (Sandbox Code Playgroud)

因为没有调用django.setup()方法。

如果我添加

import django
django.setup()
Run Code Online (Sandbox Code Playgroud)

在模型的导入之前,而不是AppRegistryNotReady例外,我得到

AttributeError: 'Settings' object has no attribute 'PRODUCT_MODEL'
Run Code Online (Sandbox Code Playgroud)

当我使用

from django.conf import settings
...

product = models.ForeignKey(
    settings.PRODUCT_MODEL, 
    related_name='order_items')
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以实现这一点而不会出错?

我使用的是 Python 3.5 和 Django 1.9.5。

python django django-models django-settings python-3.x

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

404媒体文件 - Django

昨晚我将我的项目上传到pythonanywhere.com,在那里我想测试我的生产设置.在我的一个模型中,我允许用户上传 JPG(团队徽标).上传过程运行良好,文件落在我的MEDIA_ROOT中.问题是,当我尝试在我的模板中访问它(在页面上显示它)时,我得到了404.我的第一个想法是我的MEDIA_URL配置不正确但我仍然不知道为什么.我想说我的媒体文件夹不在项目中 - 它在外面.在开发模式下,我看到了Logo(我正确设置了settings settings.DEBUG:urlpattern + = static(...)选项).

我正在使用Django 1.9.7和python 2.7这是我的代码:

我的模特:

class Team(models.Model):

name = models.CharField(verbose_name='Name of the team', max_length=24)
logo = models.ImageField(upload_to='team_logos', verbose_name='Logo', blank=True, null=True)
def get_logo(self):
    u"""Get path to logo, if there is no logo then show default."""
    if self.logo:
        return self.logo.url
    return '/static/img/default_team_logo.jpg'
Run Code Online (Sandbox Code Playgroud)

我的Settings.py:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media", "soccerV1", "static")
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "media", "static"),
)
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media", "soccerV1", "media")
Run Code Online (Sandbox Code Playgroud)

我的模板,我呼吁的标志:

<td><img …
Run Code Online (Sandbox Code Playgroud)

python django django-settings

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

Django 设置:如何从应用程序中的设置文件夹访问变量

我有一个具有以下结构的 djanog 项目:

--|src
  --project
  --|settings
     --__init__.py
     --production.py
     --local.py
  --|app1
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我导入了设置 ( from django.conf import settings),然后在我按照教程进行操作时,他们说要这样做getattr(settings, VARIABLE)。那对我不起作用。相反,我可以这样做:settings.VARIABLE。有什么不同?

哦,我跑了type(settings),它输出了<class 'django.conf.LazySettings'>.

django django-apps django-settings

4
推荐指数
2
解决办法
4597
查看次数

模型使用时覆盖 Django 中的设置

我们将 Django 用于Speedy Net 和 Speedy Match(目前为 Django 2.1)。我们的一些设置被模型使用。例如:

class USER_SETTINGS(object):
    MIN_USERNAME_LENGTH = 6
    MAX_USERNAME_LENGTH = 40

    MIN_SLUG_LENGTH = 6
    MAX_SLUG_LENGTH = 200

    # Users can register from age 0 to 180, but can't be kept on the site after age 250.
    MIN_AGE_ALLOWED_IN_MODEL = 0  # In years.
    MAX_AGE_ALLOWED_IN_MODEL = 250  # In years.

    MIN_AGE_ALLOWED_IN_FORMS = 0  # In years.
    MAX_AGE_ALLOWED_IN_FORMS = 180  # In years.

    MIN_PASSWORD_LENGTH = 8
    MAX_PASSWORD_LENGTH = 120

    MAX_NUMBER_OF_FRIENDS_ALLOWED = 800

    PASSWORD_VALIDATORS = [ …
Run Code Online (Sandbox Code Playgroud)

python django overriding django-settings

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

[::1] 在 Django 的 ALLOWED_HOSTS 中是什么意思?

我正在浏览Django 的 文档ALLOWED_HOSTS here

['localhost', '127.0.0.1', '[::1]']ALLOWED_HOSTS.

除了'[::1]'部分,一切看起来都很好。

我找不到使用的实时场景'[::1]'

有人可以解释一下我们将在哪个用例中使用它 [::1]

python django subdomain hosts django-settings

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

在 Django 中添加自定义日志记录

我已将以下日志记录配置添加到我的 Django 应用程序settings.py文件中:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
        },
    },
}
Run Code Online (Sandbox Code Playgroud)

现在,我只想在 中的一个视图中添加一些自定义日志记录views.py,但看起来记录器是NOTSET,这意味着只记录级别warning和更高级别:

import logging
from django.http import JsonResponse

logger = logging.getLogger(__name__)

def testing(request):
    logger.info("Doesn't show...")
    logger.warning(f"Log Level: {logger.level} = {logging.getLevelName(logger.level)}")
    return JsonResponse({"Hello": "World"})
Run Code Online (Sandbox Code Playgroud)

上面的代码片段记录了以下内容:

Log Level: 0 = NOTSET
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?为什么没有设置记录器的级别(即使我清楚地设置了它settings.py)?

django logging django-settings django-logging

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