在Django中设置服务器时出现此错误.它是sqlite3,这意味着它应该创建.db文件但它似乎没有这样做.我已经规定SQLite作为后端和绝对文件路径,在哪里放置它,但没有运气.
这是一个错误还是我做错了什么?(只是想,在Ubuntu中指定的绝对文件路径是不同的吗?)
这是我的settings.py文件的开头:
# Django settings for OmniCloud project.
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
# ('Your Name', 'your_email@example.com'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '~/Harold-Server/OmniCloud.db', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': …Run Code Online (Sandbox Code Playgroud) 我在使用POSTGRESQL的Django项目设置中遇到问题.
这是我的setting.py数据库设置
DATABASES = {
'default':{
'ENGINE':'django.db.backends.postgresql_psycopg2', # '.postgresql_psycopg2', '.mysql', or '.oracle'
'NAME':'indivo', # Required to be non-empty string
'USER':'indivo', # Required to be non-empty string
'PASSWORD':'ritvik',
'HOST':'', # Set to empty string for localhost.
'PORT':'', # Set to empty string for default.
},
}
Run Code Online (Sandbox Code Playgroud)
现在在postgres后端我所做的是.
rohit@rohit-desktop:~$ sudo su - postgres
postgres@rohit-desktop:~$ createuser --superuser indivo # create a super user indivo
postgres@rohit-desktop:~$ psql # open psql terminal
psql (9.1.8)
Type "help" for help.
postgres=# \password indivo # set the password …Run Code Online (Sandbox Code Playgroud) 我在为Django项目设置DJANGO_SETTINGS_MODULE时遇到了一些麻烦.
我有一个目录~/dev/django-project.在这个目录中,我有一个虚拟环境,我使用virtualenv设置,还有一个名为"开花"的django项目,其中有一个名为"onora"的应用程序.tree -L 3从运行中~/dev/django-project/ 向我显示以下内容:
.
??? Procfile
??? blossom
? ??? __init__.py
? ??? __init__.pyc
? ??? fixtures
? ? ??? initial_data_test.yaml
? ??? manage.py
? ??? onora
? ? ??? __init__.py
? ? ??? __init__.pyc
? ? ??? admin.py
? ? ??? admin.pyc
? ? ??? models.py
? ? ??? models.pyc
? ? ??? tests.py
? ? ??? views.py
? ??? settings.py
? ??? settings.pyc
? ??? sqlite3-database
? ??? urls.py
? ??? …Run Code Online (Sandbox Code Playgroud) 这有点与这个问题有关
为什么django的设置对象是一个LazyObject?
在我的django项目中,我有几个应用程序.每个应用程序都可以拥有自己的非平凡设置文件.
proj/
proj/
settings.py
app/
settings.py
views.py
Run Code Online (Sandbox Code Playgroud)
这里的一般最佳做法是什么?
app/settings.py应该这样做
from django.conf import settings
APP_SETTING= lambda: settings.getattr('APP_SETTING', 'custom_value')
PROJ_SETTING= lambda: settings.PROJ_SETTING
Run Code Online (Sandbox Code Playgroud)
然后在app/views.py中
import .settings
X = settings.APP_SETTING
Y = settings.PROJ_SETTING
Run Code Online (Sandbox Code Playgroud)
或者我应该根据django编码风格修改app/settings.py中的django lazy设置对象?
from django.conf import settings
# not even sure how I would check for a default value that was specified in proj/settings.py
settings.configure(APP_SETTING='custom_value')
Run Code Online (Sandbox Code Playgroud)
然后每个app/views.py只通过django.conf设置消耗proj/settings.py?
from django.conf import settings
X = settings.APP_SETTING
Y = settings.PROJ_SETTING
Run Code Online (Sandbox Code Playgroud)
显然有很多其他的排列,但我认为我的意图很明确.
提前致谢.
这是我想要实现的一个例子.期望的效果是,当且仅当定义了其相关设置时,特定特征才应生效.否则,应禁用该功能.
settings.py:
SOME_VARIABLE = 'some-string'
ANOTHER_VARIABLE = 'another-string'Run Code Online (Sandbox Code Playgroud)
random_code_file.py:
from django.conf import settings
if settings.is_defined('ANOTHER_VARIABLE'): # <- I need this.
do_something(settings.ANOTHER_VARIABLE)
else:
do_something_completely_different()
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我错过了我应该做的任何事情而不是settings.is_defined.
如果这是解决问题的错误方法,我也很乐意听到其他方法.所需效果是自动激活功能,仅在存在相关设置时才会生效.我宁愿避免一些特殊settings.ACTIVE_FEATURES设置或特殊值,如空白字符串或无,以评估功能是否生效.
我想做的最后一件事是使用try/except.我宁愿选择一个空值来表示该功能被排除在外. - 但是如果尝试/除了它确实是首选方法,如果提供详尽的来源或解释,我会将答案标记为正确.事实上,这是任何答案.
简而言之,我需要以正确的方式检查Django中是否定义了设置变量.
提前致谢!
我想layout.html根据DEBUG = True 来区分某个工具栏的外观.
我知道这个答案使用,django.core.context_processors.debug但它迫使我使用RequestContext而不是Request我不喜欢的,顺便说一下我如何使用RequestContext layout.html扩展base.html?
我目前在Django 1.7上
我使用Python和Django来创建我们存储在源代码控制中的Web应用程序.通常设置Django的方式,密码在settings.py文件中以纯文本形式显示.
以纯文本格式存储我的密码会让我遇到许多安全问题,特别是因为这是一个开源项目,我的源代码将受版本控制(通过git,在Github上,供整个世界查看!)
问题是,在Django/Python开发环境中安全地编写settings.py文件的最佳做法是什么?
我想在Django中为default_from_email地址添加一个名称,并想知道你是否通过settings.py文件执行此操作?
你有不同的选择.
DEFAULT_FROM_EMAIL
EMAIL_HOST
EMAIL_PASSWORD
...
Run Code Online (Sandbox Code Playgroud)
但是电子邮件结果仍然来自:noreply@mydomain.com我希望将其更改为My Domain.
我正在尝试安装西装,我输入了以下命令: pip install https://github.com/darklow/django-suit/tarball/v2 并编写了以下代码:
from suit.apps import DjangoSuitConfig
class SuitConfig(DjangoSuitConfig) :
layout = 'horizontal'
Run Code Online (Sandbox Code Playgroud)
并添加了它:
INSTALLED_APPS = [
'products.apps.SuitConfig',
.....]
Run Code Online (Sandbox Code Playgroud)
但是当我添加最后一个代码时,我遇到了这个错误:
InvalidTemplateLibrary:指定的模板库无效。尝试加载 'suit.templatetags.suit_menu' 时引发导入错误:无法从 'django.utils.translation' 导入名称 'ugettext_lazy' (C:\Users\hp\environments\env3\lib\site-packages\django\utils\翻译_初始化_.py)
注意:Django 4.01
python django django-settings installed-applications python-3.x
我正在编写一个单元测试,需要访问我放在我的django app目录下的"fixtures"目录中的图像文件.我想在我的测试中使用相对路径打开这个图像文件,这需要我获取django应用程序的绝对路径.有没有办法获得django应用程序的绝对路径?
django ×10
django-settings ×10
python ×7
database ×1
django-email ×1
postgresql ×1
psycopg2 ×1
python-3.x ×1
security ×1
sqlite ×1