我正在尝试为我的python网络应用程序实现一个简单的CSS文件。当我尝试查找应用程序时,在命令提示符下出现一条错误消息,内容为:

"GET /static/css/default.css HTTP/1.1" 404 1658


当然,HTML页面也没有实现CSS。我的项目的结构是:

ProjectName
 MyApp
 MyTeachingApp
  static
   css
    default.css
 templates
  page.html


在我的settings.py中,我得到了:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
STATIC_URL = '/static/'


并且在html中,我在头部内部获得了链接标记,例如:

<link rel="stylesheet" href="{% static "css/default.css" %}" />


如何在我的Web应用程序中正确实现CSS?我是否必须在url.py中添加一些内容?还是使用STATIC_ROOT或STATICFILES_DIRS在settings.py中?

我正在使用Django 1.9。

我的urls.py文件包含以下代码:

    from django.conf.urls import url, include
from django.contrib import admin
from django.views import *
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^caesarTemp/', include('TeachingTool.urls')),
] + static(settings.STATIC_URL, document_root = settings.STATIC_ROOT)


这是MyApp文件夹中的urls.py。

我在MyTeachingApp文件夹中有一个额外的urls.py文件,其中包含:

    from django.conf.urls import url
from . import views
urlpatterns = [
    url(r'^$', views.printAlphabet, name = 'print'),
]


我尝试将静态语句添加到此urls.py文件中,但仍然无法正常工作。

先谢谢了!

最佳答案

您需要将您的应用添加到INSTALLED_APPS元组。另外,添加urlpatterns以便通过本地开发服务器提供静态文件,如mastazi所说:

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)


您的应用命名为MyTeachingApp您的INSTALLED APPS配置应如下所示:

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

关于python - 在Django中实现CSS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34427618/

10-12 22:26