2016-04-28 12 views
1

Django Adminインターフェイスを使用して.PDFファイルをアップロードし、それらのファイルをWebサイトのページに反映させたいと考えています。これはすべて可能ですか?もしそうなら、どうしたらいいですか?それ以外の場合は、後でサイトに表示されるファイルを個人的にアップロードするための管理者ユーザーの回避策は何ですか?Django Adminを使用したファイルのアップロード

File UploadsのDjangoドキュメントからは、ウェブサイト自体でアップロードが行われますが、Adminインターフェイスを使用してこれを行いたいので、管理ユーザーだけがこれらのファイルをアップロードできることがわかります。見つけたthis質問しかしこれはイメージを扱った。どんな種類の助けも高く評価されます。

+2

「FileField」と私は信じています... –

答えて

2

django-adminには特別なことは何もありません。

models.py

class Router(models.Model): 
    specifications = models.FileField(upload_to='router_specifications') 

admin.py

from django.contrib import admin 
from my_app import models 

admin.site.register(models.Router) 

今、あなたのモデルのadminにファイルアップロードフィールドが表示されます。すでにモデルインスタンス用のファイルがある場合は、モデルインスタンスへのリンクも表示されます。

ビューをユーザーにレンダリングするときは、ビューのコンテキストでモデルを渡し、フィールドのurlプロパティを使用してファイルにリンクします。

<a href="{{ my_model_instance.specifications.url }}">Download PDF</a> 
+0

ありがとうございました!このアプリケーションのバックエンドのデータベースはAzureでホストされているMS SQLです。 upload_toパラメータの値をテーブルの名前に変更するか、または? Management Studioでデータベースを開いているので、それに応じてテーブルを追加しましたが、まだエラーが発生します。 (これはまったく異なる質問か、これをコメントとして質問するのが適切なのでしょうか?) – mrqcox

+0

使用されているデータベースにかかわらず、ファイルはdb内には格納されず、MEDIA_ROOTの設定に相対するファイルの場所へのリンクのみあなたのプロジェクトそのため、Djangoの静的ファイルとメディアファイルに関するチュートリアルを読むのは良いことでしょう。理由は分かりますが、たくさんあります! –

+0

ご協力いただきありがとうございます! – mrqcox

関連する問題