如何在Django Python中为模板添加网址?

问题描述

我在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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...