[Series 1.DashBoard作成]-5ビューの作成(1)
[post]モデルのデータをクエリー!
前回のリリースでは
SuperUser
が作成され、django
プロジェクトのモデルに近づいてみました.ただし、管理者権限でログインしていない場合は、モデル内のデータを表示できないため、すべての人に表示できない部分を改善する必要があります.
今日はこの問題を
View
にして解決しましょう.django
からView
は、クライアントから受け取った要求に従って、データベース・レイヤ(Model
)に接続し、クエリー、変更、登録、削除に必要なデータを中継する役割を果たす.簡単に言えば、サーバがデータを処理する
로직
部と言える.DashBoardプロジェクトでは、
Model
とAdmin
しか生成されていないので、実際にデータを処理してクライアントに返す部分はないと考えられます.今から本格的に
View
を作りましょうvelog_series_01/dashboard/dashboard_core/views.py
をコードエディタとして開き、次のように記述します.from rest_framework.viewsets import ModelViewSet
from rest_framework.permissions import IsAuthenticatedOrReadOnly
from dashboard_core.models import Post
# Create your views here.
class PostViewSet(ModelViewSet):
queryset = Post.objects.all()
permission_classes = [IsAuthenticatedOrReadOnly]
Post
モデル専用ビューを作成するために、PostViewSet
というPythonクラスのコードを定義します.次に、ユーザーがアクセスするURLパターンを定義します.
velog_series_01/dashboard/dashboard/urls.py
ファイルをコードエディタとして開き、次のように記述します.from django.contrib import admin
from django.urls import include, path
from rest_framework.routers import DefaultRouter
from dashboard_core.views import PostViewSet
router = DefaultRouter()
router.register(r"posts", PostViewSet, basename="post_status")
urlpatterns = [
path('', include(router.urls)),
path('admin/', admin.site.urls),
]
もともとはサーバーにアップロードした後、http://localhost:8000
に入り、ロケットアニメーションを表示するindexページに直接入りましたが、私たちが作成したPost
モデルのクエリーページ/posts
に展示したいと思います.ここまで来ると基本的な設定は終了です.
django
サーバをアップロードし、http://localhost:8000
に接続してみます.ルーティングの設定は次のようになります.
次に、次のプレゼンテーションでは、モデルデータを表示するページを作成します.
Thank you!
Reference
この問題について([Series 1.DashBoard作成]-5ビューの作成(1)), 我々は、より多くの情報をここで見つけました https://velog.io/@django_apps/Series1-5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol