标签: django-settings

你如何修复以下Django错误:"类型:IOError""值:[Errno 13]权限被拒绝"

我正在关注Django教程,一旦图像保存在admin中,您需要构建一些图像缩略图.我也使用Python的tempfile模块来保存临时文件名.

但是我一直遇到以下错误:

"Type: IOError" "Value: [Errno 13] Permission denied: 'c:\\docume~1\\myname\\locals~1\\temp\\somefilename'"
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的代码

设置

MEDIA_ROOT = '/home/myname/projectname/media/'
MEDIA_URL = 'http://127.0.0.1:8000/media/'enter code here
Run Code Online (Sandbox Code Playgroud)

models.py

from string import join
import os
from PIL import Image as PImage
from settings import MEDIA_ROOT
from os.path import join as pjoin
from tempfile import *
from string import join
from django.db import models
from django.contrib.auth.models import User
from django.contrib import admin
from django.core.files import File

class Image(models.Model):
    title = models.CharField(max_length=60, blank=True, null=True)
    image = models.FileField(upload_to="images/")
    thumbnail = models.ImageField(upload_to="images/", …
Run Code Online (Sandbox Code Playgroud)

python django django-models django-settings

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

如何在Django中安排任务?

在Django安排工作的最佳方法是什么.我的目标是根据用户的独立设置(如每日,每周,每月)向用户发送余额报表PDF电子邮件.如何进行检查?请指教我是Django和python世界的新手.我使用WindowsXP,python 2.7.2,Django 1.3.1和MS-SQL2008谢谢

python django django-signals django-views django-settings

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

pythonanywhere的django settings.py

我有 django 应用程序,我在本地开发并部署到 pythonanywhere。

本地 Setting.py 包含 sqlite-db、本地静态路径等。 pythonanywhere 上的 Setting.py 包含 mysql-db、静态的 cdn 链接等。

我想在我的 git 中有一个设置文件,有一些像这样的检查

if host_type=='pythonanywhere':
    DATABASES = { "default": { "ENGINE": "django.db.backends.mysql",
Run Code Online (Sandbox Code Playgroud)

为此,settings.py 的最佳实践在哪里?

pythonanywhere 提供了哪些 os.environ?

django-settings django-staticfiles pythonanywhere

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

Django findstatic:找不到匹配的文件

前一段时间,我尝试在Django中使用“ collectstatic”来提供我的静态文件,但失败了。现在,我终于试图让我的静态文件在我的开发环境中正确运行。我不知道出了什么问题。

当我跑步 python manage.py findstatic images/add.png

控制台返回:

base path: C:\Projects\AlmondKing\AlmondKing
static files dirs: C:\Projects\AlmondKing\AlmondKing\static
No matching file found for 'images/add.png'.
Run Code Online (Sandbox Code Playgroud)

目录路径是正确的,但仍然找不到我的文件。我尝试了许多不同的设置配置,但均无济于事。谁能发现我的问题?我认为这是所有相关设置:

BASE_DIR = os.path.abspath(os.path.dirname(__file__))

DEBUG = True

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'AlmondKing.InventoryLogs',
    'AlmondKing.FinancialLogs',
    'AlmondKing.AKGenius',
)

STATIC_URL = '/static/'
STATIC_FILES_DIRS = (
    os.path.join((BASE_DIR), "static")
)

print("base path:", BASE_DIR)
print("static files dirs:", STATIC_FILES_DIRS)
Run Code Online (Sandbox Code Playgroud)

编辑:我发现了,findstatic --verbosity 2 command并且正在搜索的唯一目录是:C:\Users\Adam\Envs\AlmondKing\lib\site-packages\django\contrib\admin\static

显然,它只是在我的虚拟环境中查找,而不是我的项目目录。这是正常的Django行为吗?

python django virtualenv django-settings django-staticfiles

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

在 django settings.py 中包含应用程序

我知道两种添加应用程序的方法,但是Django 1.9最好的方法是什么?我在教程中都看过,显然是一样的。

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

'myApp',]
Run Code Online (Sandbox Code Playgroud)

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

'myApp.apps.PollsConfig',]
Run Code Online (Sandbox Code Playgroud)

python django django-settings

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

BASE_DIR返回设置路径而不是项目路径(Django 1.10)

我目前正在按照Django 1.8首选设置文件的两个独家设置来设置Django 1.10的设置文件。

我的base.py设置文件是:

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
Run Code Online (Sandbox Code Playgroud)

BASE_DIR返回以下路径:

/Devs/projects/captain_log/src/cap_log
Run Code Online (Sandbox Code Playgroud)

我的文件树:

|--Virtual Env Folder
    |--src(django project)/
       |--cap_log(django config)/
          |--init.py
          |--urls.py
          |--wsgi.py
          |--settings/
              |-- init.py
              |-- base.py (all settings located here)
              |-- development.py
              |-- production.py
              |-- etc.
Run Code Online (Sandbox Code Playgroud)

我假设BASE_DIR应该返回:

/Devs/projects/captain_log/src/
Run Code Online (Sandbox Code Playgroud)

我问是因为我的STATIC_DIRS也返回了:

/Devs/projects/captain_log/src/cap_log/static
Run Code Online (Sandbox Code Playgroud)

代替:

 /Devs/projects/captain_log/src/static
Run Code Online (Sandbox Code Playgroud)

有人可以提出建议或解决我的问题吗?它还影响模板路径,collectstatic,媒体路径等。

django django-settings django-1.10

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

如何在 Django Settings.py 中导入另一个 Python 3 文件?

我正在使用 Python 3。我在同一目录中有两个 Python 文件:first.py 和 second.py。在 first.py 的开头,我使用:

from second import *
Run Code Online (Sandbox Code Playgroud)

但是,它返回以下错误消息:

ModuleNotFoundError: No module named 'second'
Run Code Online (Sandbox Code Playgroud)

我应该如何在 first.py 中导入它?

更新:为了澄清我的具体用例,我试图在 Django 中拆分我的 settings.py。我有一个主要的 settings.py 文件和另一个只包含机密信息的文件。我遵循以下文档该文档在 settings.py 中使用以下行:

from settings_local import *
Run Code Online (Sandbox Code Playgroud)

请注意,settings_local.py 位于同一目录中。但是,它返回以下错误消息:

ModuleNotFoundError: No module named 'settings_local'
Run Code Online (Sandbox Code Playgroud)

我知道文档说“为了与 Django 1.4 及更高版本兼容,需要修改下面列出的一些示例。” 但我不知道如何在 Python 3 中使用它。

django import importerror django-settings python-3.x

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

django - 在设置中带有数据库 url 的 MySQL 严格模式

我在我的设置中使用了一个数据库 URL 字符串,例如:

DATABASES = {
    'default': "mysql://root:@localhost:3306/mydb"
}
Run Code Online (Sandbox Code Playgroud)

当我迁移时,我收到此警告:

MySQL Strict Mode is not set for database connection 'default'
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:我怎样才能把这两件事结合起来?

我无法使用“常规”方式通过字典设置数据库设置,因为我的数据库 url 来自环境变量。

提前谢谢!

python mysql django django-settings

3
推荐指数
2
解决办法
5262
查看次数

升级到 Django 1.11 后 append_slash 不再有效

在 Django 1.9(和 Python 3.4)中,默认的 APPEND_SLASH 工作正常,即我可以输入 'localhost:8000/ideatree/videos' 并添加尾部斜杠。

升级到 Django 1.11(和 Python 3.6)后,APPEND_SLASH 不再有效。

我一直在寻找弃用通知,但到目前为止没有发现任何适用的内容。(附带问题:您如何像在以前的版本中一样重新打开“大声弃用警告”?)

这是我的主要 urls.py:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [   url(r'^(?i)ideatree/', include('ideatree.urls'),
 name='home'),
]
Run Code Online (Sandbox Code Playgroud)

以及包含的 app_space 中的 urls.py:

from django.conf.urls import url
from . import views

app_name = 'ideatree'
urlpatterns = [
   url(r'^$', views.index,name='index'),
   url(r'^(?i)features/$', views.features, name='features'),
   url(r'^(?i)videos/$', views.videos, name='videos')
]
Run Code Online (Sandbox Code Playgroud)

这两个 url.py 文件都没有改变,除了在 Django 1.9 中我有

from django.conf.urls import patterns, include, url
Run Code Online (Sandbox Code Playgroud)

在主 urls.py 中,但现在不推荐使用“模式”并发出警告。

和以前一样,我没有在 settings.py 中设置 APPEND_SLASH,依赖于其默认值 …

python django django-urls django-settings

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

ImportError:无法导入测试模块:

即时通讯与我的教程有问题。我们已经到了测试的要点,我在运行时继续出现错误

python manage.py test
Run Code Online (Sandbox Code Playgroud)

这是我的错误:

(restapi) chrismaltez@Chriss-MacBook-Pro:~/Desktop/pycharmprojects/UDEMY/restapi/src$ python manage.py test
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
..E
======================================================================
ERROR: src.status.tests (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: src.status.tests
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 428, in _find_test_path
    module = self._get_module_from_name(name)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 369, in _get_module_from_name
    __import__(name)
  File "/Users/chrismaltez/Desktop/pycharmprojects/UDEMY/restapi/src/status/tests.py", line 6, in <module>
    from .models import Status
  File "/Users/chrismaltez/Desktop/pycharmprojects/UDEMY/restapi/src/status/models.py", line 20, in <module>
    class Status(models.Model): #fb status, instagram post, tween, …
Run Code Online (Sandbox Code Playgroud)

django django-models django-testing django-settings

3
推荐指数
2
解决办法
7521
查看次数