debugging Django设置debug=False中断href links

2q5ifsrm  于 2022-11-14  发布在  Go
关注(0)|答案(2)|浏览(143)

我正在使用Django框架开发一个网站。使用Django=True可以很好地工作,但是当我设置Django=False时,系统无法找到〈a href=... links中正在访问的其他html文件。假设我正在开发'mysite',那么下面的代码:

<li><a href="index-2.html"><i class="fab fa-dribbble"></i></a></li>

出现在mysite上的图标后面。然后单击该图标会将用户带到“mysite.com/index-2.html”,但会引发“在此服务器上找不到请求的资源”错误。
这只在我们设置Django=False并且在生产中发生。由于这个原因,主页上没有链接可以工作。
EDIT-1:我已经审查了:
Why does DEBUG=False setting make my django Static Files Access fail?
静态文件在我的应用程序上已经运行良好,因为它们在“assets”文件夹中。html文件在根文件夹中,当debug设置为False时,系统无法从根文件夹中找到任何文件。因此,我的问题更多地是关于使用href链接在根文件夹中查找文件。
“assets”文件夹中的文件没有错误,但根文件夹文件出现404错误:

zqdjd7g9

zqdjd7g91#

尝试使用onclick函数代替href,在静态文件中你已经添加了一些配置来服务于django中的静态文件。

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
#STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
# add manual
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]
MEDIA_ROOT = os.path.join(BASE_DIR,'static/images/')
MESSAGE_TAGS = {
    messages.ERROR: 'danger'
}

如果这是工作,请与我联系,我发现这从自由职业者应用程序

eivnm1vs

eivnm1vs2#

为了解决这个问题,我为www.example.com文件中的每个.html文件添加了特定的函数views.py,并添加了函数到主html文件的链接。例如:我在views.py文件中添加了以下内容:

def about(request):
     return render(request,'about.html')

并在index.html中按如下方式使用:

href = '\about'

对所有使用的html文件执行此操作解决了debug=True和debug=False的问题。不确定这是否是最好的方法,但目前正在工作。

相关问题