问题描述
我在django主页中使用了模板。(http://127.0.0.1:8000/)
我将静态文件链接到静态文件夹中,并形成为{%static .....}
当我在主页的url中对其进行路径设置时,它可以正常工作。
但是当我给它一个像'p /'这样的标签时,它是行不通的。
因为它在p文件夹中搜索静态变量:
“ GET /p/static/post/js/scripts.js HTTP / 1.1” 404 2598“
我的应用程序名称为“ post”。
请帮忙吗?”
<link href="{% static 'post/css/bootstrap.css' %}" rel="stylesheet">
<link href="{% static 'post/css/fontawesome-all.css' %}" rel="stylesheet">
<link href="{% static 'post/css/swiper.css' %}" rel="stylesheet">
<link href="{% static 'post/css/magnific-popup.css' %}" rel="stylesheet">
<link href="{% static 'post/css/styles.css'%}" rel="stylesheet">
'
这是我的设置:STATIC_URL = '/static/ MEDIA_URL = '/media/' STATIC_ROOT = os.path.join(BASE_DIR,"static") MEDIA_ROOT = os.path.join(BASE_DIR,'media')
这是我的urls.py:
urlpatterns = [
path('admin/',admin.site.urls),path('',include('post.urls')),]'
urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)
if settings.DEBUG:
urlpatterns += [
re_path(r'^media/(?P<path>.*)$',serve,{
'document_root': settings.MEDIA_ROOT,}),]
这是我的观点:
'''
from django.shortcuts import render
from django.http import HttpResponse
from .models import app_post
def hello(request):
html = "<h>salam django<h>"
return HttpResponse(html)
def page(request):
return render(request,'post/index.html')
''' 这是我的应用网址:
urlpatterns = [
path('',page,name = 'page'),path('h/',hello,name = 'hello'),]
解决方法
您应该至少显示views.py和urls.py文件。
,将此添加到您的settings.py
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static'),]
STATIC_ROOT = os.path.join(BASE_DIR,'assets')
然后运行命令python manage.py collectstatic