使用Django developers服务器未显示样式或favico
我似乎遇到了一些渲染问题,可能与免费的Django开发服务器(manage.py runserver)有关。我有一个base.html,它也扩展了我的其他文件。基本文件正在使用外部CSS文件进行格式化。当请求调出一个页面时,CSS表中定义的格式不会显示在页面上,但是所有来自基的代码都正确地扩展到了文件中。因此,为了清楚起见,我从浏览器中打开了一个没有显示格式的页面的源代码。我验证了我希望看到的所有代码都是从基础扩展而来的,包括对css文件的调用。然后我从“查看源代码”窗口复制并粘贴到一个新的文本文件中,该文件具有html扩展名,并保存在与基本文件相同的目录中。然后,不使用服务器,我只是在浏览器中打开文件(双击),所有格式都在那里。地址栏和选项卡区域中使用的“favico”图标也是如此。我可以从浏览器中复制文本并保存,然后不使用服务器重新打开,并显示图标…我做错了什么 另外要明确的是,没有错误消息,只是没有格式。运行服务器时显示的是没有格式的页面文本…因此背景为白色,没有颜色,没有字体格式,只有默认的html格式 url.py可能就是我的问题所在。该站点将网页内容从数据库中提取出来,并将其发送到一个通用html文件,然后该文件将填充页面内容。通用html文件(view.html)从基扩展而来,基由外部CSS文件格式化。所以这些页面实际上并不是独立存在的 在views.py中,它的工作方式基本上基于3个URL:查看、编辑和保存使用Django developers服务器未显示样式或favico,django,Django,我似乎遇到了一些渲染问题,可能与免费的Django开发服务器(manage.py runserver)有关。我有一个base.html,它也扩展了我的其他文件。基本文件正在使用外部CSS文件进行格式化。当请求调出一个页面时,CSS表中定义的格式不会显示在页面上,但是所有来自基的代码都正确地扩展到了文件中。因此,为了清楚起见,我从浏览器中打开了一个没有显示格式的页面的源代码。我验证了我希望看到的所有代码都是从基础扩展而来的,包括对css文件的调用。然后我从“查看源代码”窗口复制并粘贴到一个新的文本
- 如果URL不存在,那么views.py文件将调用 edit.html打开一个窗口,其中有一个输入区域,我可以在其中添加 我的密码。然后我点击保存按钮,所有的文本内容 实际上,HTML代码被保存到数据库中
- 如果数据库中确实存在页面名称,则将提取该页面的内容并发送到View.html
url(r'^NWTACOL/page/(?P<page_name>[^/]*)/edit/$', 'NWTACOL.page.views.edit_page'),
url(r'^NWTACOL/page/(?P<page_name>[^/]*)/save/$', 'NWTACOL.page.views.save_page'),
url(r'^NWTACOL/page/(?P<page_name>[^/]*)/$', 'NWTACOL.page.views.view_page'),
指向我的css文件的链接是
<link href="../Main_Style.css" rel="stylesheet" type="text/css" />
您是否正在使用staticfiles应用程序和Django 1.3?如果您有DEBUG=True,它应该在路径:/static上自动提供css、js、图像等。如果没有,您需要提供自己的url模式和视图来服务静态媒体
查看dos网址:您正在使用staticfiles应用程序和Django 1.3吗?如果您有DEBUG=True,它应该在路径:/static上自动提供css、js、图像等。如果没有,您需要提供自己的url模式和视图来服务静态媒体
查看dos网址:我还假设您使用的是Django 1.3,因为新用户经常会被新的staticfiles实现绊倒: 首先,在
settings.py
中指定STATIC\u URL
和STATIC\u ROOT
。通常的做法是:
import os.path
STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static')
STATIC_URL = '/static/'
如果您的所有静态资源都位于一个或多个应用程序的“静态”目录中,那么您就完成了。当DEBUG=True
时,Django将在STATIC\u URL
自动为您提供这些服务
但是,如果您有另一个目录存储静态文件(例如用于站点范围模板的CSS,它不只是应用于一个应用程序)。您必须告诉Django将这些其他目录视为staticfiles目录:
STATICFILES_DIRS = (
os.path.join(os.path.dirname(__file__), 'assets'),
)
我在这里选择了“资产”,因为您无法使用媒体根目录(通常为“站点媒体”)来执行此操作MEDIA\u ROOT
和MEDIA\u URL
现在仅用于上传
此外,也不能将文件存储在STATIC\u ROOT
中。这似乎与直觉相反,但运行collectstatic
管理命令时,Django只是存储文件的目录。它从未真正从这里提供文件,因为这是生产Web服务器应该做的事情
因此,总而言之,静态资源可能需要三个目录:
用户上传的目录(MEDIA\u ROOT
,通常为“site\u MEDIA”)
collectstatic
(“STATIC\u ROOT”,通常为“STATIC”)的目录
项目范围静态文件的目录(在中指定
STATICFILES\u DIRS
,可以随意称呼它)
最后,您可能最终也会被服务管理媒体绊倒。其设置为:
ADMIN_MEDIA_PREFIX = STATIC_URL+'admin/'
我还假设您使用的是Django 1.3,因为新用户经常会被新的staticfiles实现绊倒:
首先,在settings.py
中指定STATIC\u URL
和STATIC\u ROOT
。通常的做法是:
import os.path
STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static')
STATIC_URL = '/static/'
如果您的所有静态资源都位于一个或多个应用程序的“静态”目录中,那么您就完成了。当DEBUG=True
时,Django将在STATIC\u URL
自动为您提供这些服务
但是,如果您有另一个目录存储静态文件(例如用于站点范围模板的CSS,它不只是应用于一个应用程序)。您必须告诉Django将这些其他目录视为staticfiles目录:
STATICFILES_DIRS = (
os.path.join(os.path.dirname(__file__), 'assets'),
)
我在这里选择了“资产”,因为您无法使用媒体根目录(通常为“站点媒体”)来执行此操作MEDIA\u ROOT
和MEDIA\u URL
现在仅用于上传
此外,也不能将文件存储在STATIC\u ROOT
中。这似乎