Django プロジェクトの実用的なユーザー アバターのアップロードとアクセス
この記事では主に、Django プロジェクトでのユーザー アバターのアップロードとアクセスの実践例を紹介します。一緒に見てみましょう
1 ファイルをサーバー上にローカルに保存します
upload.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <form action="" method="post" enctype="multipart/form-data"> {% csrf_token %} <p>用户名:<input type="text" name="username"></p> <p>头像<input type="file" name="avatar"></p> <input type="submit" value="提交"> </form> </body> </html>
urls.py
from django.conf.urls import url from app01 import views urlpatterns = [ url(r'^upload',views.upload) ]
views.py
概要
このようにして、ファイルアップロードの基本的な小さな例を作成しました。 ここで注意すべき点がいくつかあります:
1. csrf_token 検証をフォームに追加する必要があります
2. のタイプファイルの入力ボックス 値は file です
3. view 関数でファイルを取得するには、request.FILES.get() メソッドを使用します
4. ファイルの名前は obj.name を通じて取得できます
2 ファイルをデータベース
models にアップロードします。データベースへのファイルのアップロードは注意すべき点がいくつかあります:
1. いわゆるデータベースへのアップロードは、画像自体やバイナリ コードをデータベースに配置することを意味するものではありません。データベースはファイルのパスのみを保存するため、ユーザーがファイルを呼び出したいときに、そのパスを使用してサーバーによって指定された場所を見つけることができます。
3. データベースに追加するとき、ファイル フィールド属性の割り当ては、通常のフィールドと同じ形式になります。たとえば、models.User.objects.create(username=name, avatar=avatar)
4. 2 人のユーザーがアップロードしたファイル名が同じである場合、システムはファイルの名前を自動的に変更します。その効果は次のとおりです:追加の
機能を実装しました。ファイルを呼び出すときは、データベース ファイル パスを介して保存されたファイル自体を介して画像にアクセスし、それを Web ページに表示するだけでよいようです。これは当てはまりません
設定手順は次のとおりです:
1.
from django.shortcuts import render,HttpResponse
def upload(request):
if request.method == 'POST':
name = request.POST.get('username')
avatar = request.FILES.get('avatar')
with open(avatar.name,'wb') as f:
for line in avatar:
f.write(line)
return HttpResponse('ok')
return render(request,'upload.html')
を設定します。サイトのsetting.py内のurls.py 設定後、http://127.0.0.1:8001/media/milk.png から画像にアクセスできます
3 AJAX を使用してファイルを送信します
from django.db import models class User(models.Model): username = models.CharField(max_length=16) avatar = models.FileField(upload_to='avatar')
views.py
def upload(request): if request.method == 'POST': name = request.POST.get('username') avatar = request.FILES.get('avatar') models.User.objects.create(username=name,avatar=avatar) return HttpResponse('ok') return render(request,'upload.html')
概要
1. Ajax がアップロードするとき、ボタンの入力には submit を使用してはなりません2。ですが、これは FormData オブジェクトです
オブジェクトを作成します formdata = new FormData();
それに値を追加します formdata.append('username',$('#name-input').val()) ;
formdata.append("csrfmiddlewaretoken",$("[name='csrfmiddlewaretoken']").val());
4. 最後に、Ajax経由でファイルをアップロードする際のパラメータ設定は2つあります
- contentType:false
- 4 画像ファイルをアップロードする際のプレビュー機能があります
MEDIA_ROOT=os.path.join(BASE_DIR,"blog","media") #blog是项目名,media是约定成俗的文件夹名 MEDIA_URL="/media/" # 跟STATIC_URL类似,指定用户可以通过这个路径找到文件
5 概要
ファイルをアップロードする場合、それが直接フォーム送信であろうと Ajax 送信であろうと、根本的な問題は、アップロードしたいのはファイルであり、通常の文字列ではないことをブラウザーに伝えることです
- 方法通常の文字列をアップロードする場合、デフォルト値があるため、ブラウザーにそれを伝える必要はありません そして、ファイルを転送したい場合は、それを指定する必要があります。別途指定します。ポイントをまとめると以下の通りです
- 1. フォームをアップロードする場合は、enctype="multipart/form-data" で ContentType を指定します
2. Ajax 経由でアップロードする場合は、processData:false と contentType:false で ContentType を指定します
3. アップロードする場合form 、ファイル データは タグによって「ラップ」されます。 4. Ajax がアップロードするとき、データは FormData インスタンス オブジェクトを介して追加されます。
関連する推奨事項:
Django が css ファイル、js ファイル、および静的画像をロードする方法
Django コントロールの使用方法とパラメーターの受け渡しについての詳細な説明
以上がDjango プロジェクトの実用的なユーザー アバターのアップロードとアクセスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ソーシャルメディアの急速な発展に伴い、Xiaohongshuは最も人気のあるソーシャルプラットフォームの1つになりました。ユーザーは、Xiaohongshu アカウントを作成して自分の個人情報を示し、他のユーザーと通信し、対話することができます。ユーザーの小紅樹番号を見つける必要がある場合は、次の簡単な手順に従ってください。 1. Xiaohonshu アカウントを使用してユーザーを見つけるにはどうすればよいですか? 1. 小紅書アプリを開き、右下隅の「検出」ボタンをクリックして、「メモ」オプションを選択します。 2. ノート一覧で、探したいユーザーが投稿したノートを見つけます。クリックしてノートの詳細ページに入ります。 3. ノートの詳細ページで、ユーザーのアバターの下にある「フォロー」ボタンをクリックして、ユーザーの個人ホームページに入ります。 4. ユーザーの個人ホームページの右上隅にある三点ボタンをクリックし、「個人情報」を選択します。

Ubuntu システムでは、通常、root ユーザーは無効になっています。 root ユーザーをアクティブにするには、passwd コマンドを使用してパスワードを設定し、su-コマンドを使用して root としてログインします。 root ユーザーは、無制限のシステム管理権限を持つユーザーです。彼は、ファイルへのアクセスと変更、ユーザー管理、ソフトウェアのインストールと削除、およびシステム構成の変更を行う権限を持っています。 root ユーザーと一般ユーザーの間には明らかな違いがあり、root ユーザーはシステム内で最高の権限とより広範な制御権限を持ちます。 root ユーザーは、一般のユーザーでは実行できない重要なシステム コマンドを実行したり、システム ファイルを編集したりできます。このガイドでは、Ubuntu の root ユーザー、root としてログインする方法、および通常のユーザーとの違いについて説明します。知らせ

sudo (スーパーユーザー実行) は、一般ユーザーが root 権限で特定のコマンドを実行できるようにする、Linux および Unix システムの重要なコマンドです。 sudo の機能は主に次の側面に反映されています。 権限制御の提供: sudo は、ユーザーにスーパーユーザー権限を一時的に取得することを許可することで、システム リソースと機密性の高い操作を厳密に制御します。一般のユーザーは、必要な場合にのみ sudo を介して一時的な権限を取得できるため、常にスーパーユーザーとしてログインする必要はありません。セキュリティの向上: sudo を使用すると、日常的な操作中に root アカウントの使用を回避できます。すべての操作に root アカウントを使用すると、誤った操作や不注意な操作には完全な権限が与えられるため、予期しないシステムの損傷につながる可能性があります。そして

Django と Flask はどちらも Python Web フレームワークのリーダーであり、それぞれに独自の利点と適用可能なシナリオがあります。この記事では、これら 2 つのフレームワークを比較分析し、具体的なコード例を示します。開発の概要 Django はフル機能の Web フレームワークであり、その主な目的は、複雑な Web アプリケーションを迅速に開発することです。 Django は、ORM (オブジェクト リレーショナル マッピング)、フォーム、認証、管理バックエンドなどの多くの組み込み機能を提供します。これらの機能により、Django は大規模なデータを処理できるようになります。

Django は、Web 開発ライフサイクルのあらゆる側面をカバーする完全な開発フレームワークです。現在、このフレームワークは世界中で最も人気のある Web フレームワークの 1 つです。 Django を使用して独自の Web アプリケーションを構築する場合は、Django フレームワークの長所と短所を理解する必要があります。具体的なコード例も含め、知っておくべきことはすべてここにあります。 Django の利点: 1. 迅速な開発 - Django は Web アプリケーションを迅速に開発できます。豊富なライブラリと内部を提供します。

Linux システムにおけるユーザー パスワードの保存メカニズムの分析 Linux システムでは、ユーザー パスワードの保存は非常に重要なセキュリティ メカニズムの 1 つです。この記事では、パスワードの暗号化された保存、パスワード検証プロセス、ユーザー パスワードを安全に管理する方法など、Linux システムにおけるユーザー パスワードの保存メカニズムを分析します。同時に、具体的なコード例を使用して、パスワード保存の実際の操作プロセスを示します。 1. パスワードの暗号化された保管 Linux システムでは、ユーザーのパスワードは平文でシステムに保管されるのではなく、暗号化されて保管されます。 L

win10 アカウントを登録した後、多くの友人がデフォルトのアバターの見た目があまり良くないと感じているため、アバターを変更したいと考えています。ここではアバターを変更する方法についてのチュートリアルを示します。見に来てください。 win10 アカウント名とアバターを変更する方法: 1. まず左下隅をクリックして開始します。 2. 次に、ポップアップ メニューで上のアバターをクリックします。 3. 入力後、「アカウント設定の変更」をクリックします。 4. 次に、アバターの下の「参照」をクリックします。 5. アバターとして使用したい写真を見つけて選択します。 6. 最後に、変更は正常に完了します。

Django バージョンをアップグレードする方法: 手順と考慮事項、必要な特定のコード例 はじめに: Django は、より優れたパフォーマンスとより多くの機能を提供するために継続的に更新およびアップグレードされる強力な Python Web フレームワークです。ただし、古いバージョンの Django を使用している開発者にとって、Django のアップグレードはいくつかの課題に直面する可能性があります。この記事では、Djangoのバージョンアップの手順や注意点、具体的なコード例を紹介します。 1. Djan をアップグレードする前にプロジェクト ファイルをバックアップします。
