Html SQLite django下载未显示文件

Html SQLite django下载未显示文件,html,django,database,sqlite,Html,Django,Database,Sqlite,使用django从sqlite数据库下载文件时遇到问题。 我已经创建了一个db模型。然后我进入我的django管理员并上传了文件。 然后在index.html中设置了一个下载链接。然而,当我按下下载链接时,我的页面似乎在刷新,没有任何东西可以下载。我创建的应用程序名为chartsapp。也许这与我的代码行有关{{chartsapp.the_file.url}。我试着使用_file.url,但这似乎也没什么作用。有什么建议吗 MODELS.PY from django.db import mode

使用django从sqlite数据库下载文件时遇到问题。 我已经创建了一个db模型。然后我进入我的django管理员并上传了文件。 然后在
index.html
中设置了一个下载链接。然而,当我按下下载链接时,我的页面似乎在刷新,没有任何东西可以下载。我创建的应用程序名为
chartsapp
。也许这与我的代码行有关
{{chartsapp.the_file.url}
。我试着
使用_file.url
,但这似乎也没什么作用。有什么建议吗

MODELS.PY

from django.db import models

class Datahere(models.Model):
    text = models.FileField(upload_to='Uploaded')
管理员

from django.contrib import admin
from .models import Datahere

admin.site.register(Datahere)
INDEX.HTML

<a href="{{ chartsapp.the_file.url }}">Download the file</a>
VIEWS.PY

from django.shortcuts import render
from .models import Datahere

def index(request):
    model = Datahere
    return render(request, "index.html", {})

我还是django的初学者,但是如果你想让你的url工作,你必须将url添加到url.py文件中,然后在views.py中编辑。
我希望这会有所帮助。

我还是django的初学者,但是如果你想让你的url工作,你必须将url添加到url.py文件中,然后在views.py中编辑。
我希望这会有所帮助。

首先,不要从sqlite数据库下载文件。相反,您的模型将任何文件/图像/等保存到
媒体根目录/上载的
,并在设置中定义
媒体根目录
。py
如下所示:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] 

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
数据库本身根本不存储媒体文件(和静态文件)。它只是将文件的位置存储为相对于
MEDIA\u ROOT
的路径

因此,要根据需要在模板中呈现指向文件的链接,您可以按如下方式进行操作:

{% load static %}
<body data-media-url="{% get_media_prefix as MEDIA_PREFIX %}">

<img src="{{ MEDIA_PREFIX }}images/your_image.png">

or 

<a href="{{ MEDIA_PREFIX }}pdfs/your_file.pdf">Download the file</a>
在存储文件时,您应该考虑将模型字段重命名为与代码>文本< /代码>不同的东西,对我来说它是安静的误导和不确定的。


有关
FileField
ImageField
的更多参考信息,请查看。

首先,您不需要从sqlite数据库下载文件。相反,您的模型将任何文件/图像/等保存到
媒体根目录/上载的
,并在设置中定义
媒体根目录
。py
如下所示:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] 

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
数据库本身根本不存储媒体文件(和静态文件)。它只是将文件的位置存储为相对于
MEDIA\u ROOT
的路径

因此,要根据需要在模板中呈现指向文件的链接,您可以按如下方式进行操作:

{% load static %}
<body data-media-url="{% get_media_prefix as MEDIA_PREFIX %}">

<img src="{{ MEDIA_PREFIX }}images/your_image.png">

or 

<a href="{{ MEDIA_PREFIX }}pdfs/your_file.pdf">Download the file</a>
在存储文件时,您应该考虑将模型字段重命名为与代码>文本< /代码>不同的东西,对我来说它是安静的误导和不确定的。


有关
FileField
ImageField
的更多参考信息,请查看。

code>{{{chartsapp.the_file.url}}
应该如何工作?你的网站的逻辑是什么?你能分享你的观点吗?我以为这会打开数据库中文件的绝对路径?因此打开文件?我刚刚开始,所以不知道我在做什么。
{{chartsapp.the_file.url}
应该如何工作?你的网站的逻辑是什么?你能分享你的观点吗?我以为这会打开数据库中文件的绝对路径?因此打开文件?我刚刚开始,所以不知道我在做什么。我在问题中添加了我的
url.py
views.py
。哦,我错过了那件事,很抱歉,关于django的一些信息,我的最后一个答案,再一次很抱歉,我仍在学习,在终端do中,python manage.py makemigration,在python manage.py迁移之后。转到包含manage.py文件的文件夹,然后重试前面回答中的两个命令。我在问题中添加了我的
url.py
views.py
。哦,我错过了这一点,很抱歉,关于django的信息很少,我的上一个回答再次表示抱歉,在终端do中,我仍在学习python manage.py makemigration,在python manage.py migrate之后。转到包含manage.py文件的文件夹,然后重试前面回答中的两个命令。由于我上载的“Monthly Sale.pdf”未存储在静态文件夹中,因此出现错误。@pete800尝试上述解决方案。它在我这边有效。我收到一个错误,因为我上传的“Monthly Sale.pdf”没有存储在静态文件夹中。@pete800尝试上述解决方案。这对我很有效。