当我使用MEDIA_URL或STATIC_URL指向/ static /当前将MEDIA_URL设置为/ static /并在CSS文件的路径中使用它时,如:
<link rel="stylesheet" type="text/css" href="{{MEDIA_URL}}css/css.css" />
Run Code Online (Sandbox Code Playgroud)
它指向/static/css.css,但尝试http://localhost/static/css.css给出404错误.
我有设置:
.....
MEDIA_ROOT = ''
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = '/static/'
# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT …Run Code Online (Sandbox Code Playgroud) 我现在正在学习Django,并且正在逐步关注Django的书.
当我继续第5章将我的Django项目连接到我的数据库时,我无法连接它.我收到错误:
FATAL: password authentication failed for user "postgres"
Run Code Online (Sandbox Code Playgroud)
这是代码:
settings.py 组态:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'postgis', # Or path to database file if using sqlite3.
'USER': 'postgres', # Not used with sqlite3.
'PASSWORD': 'XXXXXXX', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '8904', # Set to empty string for default. Not used with sqlite3.
} …Run Code Online (Sandbox Code Playgroud) postgresql database-connection postgis django-settings python-2.7
所以我一直在尝试设置一个django设置模块,它将检查环境变量和加载设置.
下面是我的设置模块的样子
/templates
home.html
/settings
base.py
prod.py
dev.py
test.py
Run Code Online (Sandbox Code Playgroud)
base.py
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
TEMPLATE_DIRS = [
os.path.join(PROJECT_ROOT, "templates"),
]
urls.py
from django.views.generic.simple import direct_to_template
urlpatterns = patterns('',
url(r"^$", direct_to_template, {'template' : 'home.html' }, name="home"),
)
Run Code Online (Sandbox Code Playgroud)
当我将所有设置放在一个文件中时,这工作得很好,但是因为我将文件拆分了,所以我得到错误:
TemplateDoesNotExist at /
home.html
Template-loader postmortem
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
/Users/Tulsa/Apps/tulsa-applications-co/tulsa/tulsa/settings/templates/home.html (File does not exist)
Using loader django.template.loaders.app_directories.Loader:
/Users/Tulsa/.Apps/tulsa_io/lib/python2.7/site-packages/django/contrib/auth/templates/home.html (File does not exist)
/Users/Tulsa/.Apps/tulsa_io/lib/python2.7/site-packages/django/contrib/admindocs/templates/home.html (File does not exist)
/Users/Tulsa/.Apps/tulsa_io/lib/python2.7/site-packages/grappelli/templates/home.html (File does not exist)
/Users/Tulsa/.Apps/tulsa_io/lib/python2.7/site-packages/django/contrib/admin/templates/home.html (File does not …Run Code Online (Sandbox Code Playgroud) 我可能只是累了,并没有注意到这里明显的东西,但升级到Django 1.5后,我的静态文件的路径被打破.
settings.py
from os.path import abspath, basename, dirname, join, normpath
SITE_ROOT = dirname(dirname(abspath(__file__)))
SITE_NAME = basename(SITE_ROOT)
PROJECT_ROOT = dirname(SITE_ROOT)
STATIC_ROOT = normpath(join(SITE_ROOT, 'static', 'site_media'))
STATIC_URL = "/site_media/static/"
STATICFILES_FINDERS = (
"staticfiles.finders.FileSystemFinder",
"staticfiles.finders.AppDirectoriesFinder",
"staticfiles.finders.LegacyAppDirectoriesFinder",
"compressor.finders.CompressorFinder",
Run Code Online (Sandbox Code Playgroud)
)
的index.html
<link rel="stylesheet" href="{{ STATIC_URL }}css/site_base.css" />
Run Code Online (Sandbox Code Playgroud) 我在我的settings.py中将我的SESSION_COOKIE_AGE设置设置为360,但是在我开发服务器时,它一直使我注销:((
为什么会发生这种情况,如何防止这种情况发生呢?
谢谢!
这是我的settings.py:
settings.py
# Django settings for quora project.
import os.path
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
('myname', 'myemail'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'mydb', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': '',
'PASSWORD': '',
'HOST': 'localhost', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through …Run Code Online (Sandbox Code Playgroud) 我有一个使用Django构建的网站,我遇到了以下难题.我有一封后端电子邮件,我们称之为luckyducky@gmail.com.现在我还有一个域名电子邮件,直接转发到luckyduck@gmail.com,名为support@luckyducky.com.
目前我的Django Email设置如下:
EMAIL_HOST_USER="luckyducky@gmail.com"
EMAIL_HOST_PASSWORD="password"
Run Code Online (Sandbox Code Playgroud)
这很好,但我希望从'support@luckyducky.com'发送电子邮件.
包括Python社区作为一个整体,也许问题可以在Django邮件包装器函数之外解决.
如何设置此重定向?这意味着,当我在Django后端配置的真正电子邮件是luckyducky@gmail.com时,如何在别名"support@luckyducky.com"下发送电子邮件?
我以前做过教程的第一部分,卡住了,意识到有几个版本的教程,删除了民意调查和mysite目录并重新开始.但是,当我跑
$ python manage.py sql轮询结果是:
c:\Python27\Scripts\mysite>python manage.py sql polls
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
399, in execute_from_command_line
utility.execute()
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 242,
in run_from_argv
self.execute(*args, **options.__dict__)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 280,
in execute
translation.activate('en-us')
File "C:\Python27\lib\site-packages\django\utils\translation\__init__.py", lin
e 130, in activate
return _trans.activate(language)
File "C:\Python27\lib\site-packages\django\utils\translation\trans_real.py", l
ine 188, in activate
_active.value = translation(language)
File "C:\Python27\lib\site-packages\django\utils\translation\trans_real.py", l
ine 177, in translation
default_translation = _fetch(settings.LANGUAGE_CODE)
File …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 django 的开发环境中加载静态文件。我的设置如下所示:
STATIC_ROOT = '/MyProject/myapp/static/'
STATIC_URL = '/static/'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
)
Run Code Online (Sandbox Code Playgroud)
我的网站 urls.py 看起来像:
from django.conf import settings
import views
from django.conf.urls.static import static
admin.autodiscover()
urlpatterns = patterns('',
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Run Code Online (Sandbox Code Playgroud)
我的 header-include.html 看起来像:
<link href="{% static 'css/mycss.css' %}" media="screen" rel="stylesheet" type="text/css">
Run Code Online (Sandbox Code Playgroud)
我的 css 主管位于:
我的站点 > 静态 > css
我收到错误:
本地主机/静态/css/mycss.css 404(未找到)
我究竟做错了什么???
我没有django.contrib.auth在INSTALLED_APPS,我不想因为我使用一个自定义的用户模型做出来,我不需要没有内置的User,Group和Permission模型.
我希望这可以在Django 1.9中使用,因为文档在https://docs.djangoproject.com/en/1.9/releases/1.9/中的django.contrib.auth条款中说明:
AbstractBaseUser而BaseUserManager被转移到一个新的django.contrib.auth.base_user模块,使它们可以在不包括进口django.contrib.auth的INSTALLED_APPS(这样做成长于旧版本弃用警告,并在Django 1.9不再支持).
但是,截至目前,我无法在django.contrib.auth不引发错误的情况下导入任何内容.不能导入中间件或表单.我必须要么添加django.contrib.auth到INSTALLED_APPS或者不使用该模块的任何东西.
每当django.contrib.auth间接导入模型时,我都会得到以下经典错误:whatever_model_was_indirectly_imported不声明显式app_label而且不在应用程序中INSTALLED_APPS.
编辑:包括回溯的最后部分:
...
File "/usr/lib/python2.7/site-packages/django/contrib/auth/middleware.py", line 3, in <module>
from django.contrib.auth.backends import RemoteUserBackend
File "/usr/lib/python2.7/site-packages/django/contrib/auth/backends.py", line 4, in <module>
from django.contrib.auth.models import Permission
File "/usr/lib/python2.7/site-packages/django/contrib/auth/models.py", line 38, in <module>
class Permission(models.Model):
File "/usr/lib/python2.7/site-packages/django/db/models/base.py", line 102, in …Run Code Online (Sandbox Code Playgroud) 我的 Django 项目结构如下所示,
.
??? myapp
? ??? apps
? ? ??? __init__.py
? ??? __init__.py
? ??? settings.py
? ??? urls.py
? ??? wsgi.py
??? manage.py
??? tests
??? test_config.py
Run Code Online (Sandbox Code Playgroud)
我从那里移动设置文件以形成以下结构。
.
??? myapp
? ??? apps
? ? ??? __init__.py
? ??? config
? ? ??? __init__.py
? ? ??? settings.py
? ? ??? urls.py
? ? ??? wsgi.py
? ??? __init__.py
??? manage.py
??? tests
??? test_config.py
Run Code Online (Sandbox Code Playgroud)
所以我改变了我的 wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.config.settings") …Run Code Online (Sandbox Code Playgroud) django-settings ×10
django ×9
python ×4
django-1.3 ×1
django-email ×1
django-urls ×1
postgis ×1
postgresql ×1
python-2.7 ×1
sqlite ×1