open project folder
cd django_3_ninja
activate
pipenv shell
open folder
cd ninja_django
create app
python manage.py startapp blog
settings.py
INSTALLED_APPS = [
'blog',
]
blog/models.py
from django.db import models
class Post(models.Model):
timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
title = models.CharField(max_length=200)
text = models.CharField(max_length=500)
def __str__(self):
return self.title
blog/views.py
from .serializers import (
ListSerializer,
)
from rest_framework.generics import (
ListAPIView,
)
from blog.models import Post
class PostListAPIView(ListAPIView):
serializer_class = ListSerializer
queryset = Post.objects.all()
blog/serializers.py
from rest_framework.serializers import (
ModelSerializer,
)
from blog.models import Post
class ListSerializer(ModelSerializer):
class Meta:
model = Post
fields = [
'id',
'title',
'text',
]
ninja_django/urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path('api/v1/post/', include(('blog.urls', 'blog'), namespace='blog')),
]
blog/urls.py
from blog import views
from django.urls import path
urlpatterns = [
path('list/', views.PostListAPIView.as_view(), name='blog-list'),
]
install djangorestframework
pipenv install djangorestframework
settings.py
INSTALLED_APPS = [
'rest_framework',
]
blog/admin.py
from django.contrib import admin
from blog.models import Post
admin.site.register(Post)
create db
python manage.py makemigrations;
python manage.py migrate;
start server
python manage.py runserver;
create admin user
python manage.py createsuperuser
create post
http://localhost:8000/admin
open link
http://localhost:8000/api/v1/post/list
github
https://github.com/manas-anarov/django_3_ninja/tree/2_part

Комментариев нет:
Отправить комментарий