Browse Source

создана точка доступа для создания статьи, модель статьи сохраняется в БД

pull/32/head
Artur Galyamov 2 years ago
parent
commit
fa575c845a
  1. 3
      .gitignore
  2. 0
      cms/__init__.py
  3. 22
      cms/migrations/0001_initial.py
  4. 0
      cms/migrations/__init__.py
  5. 6
      cms/models.py
  6. 6
      cms/urls.py
  7. 18
      cms/views.py
  8. 3
      crossposting_backend/urls.py

3
.gitignore vendored

@ -1,3 +1,6 @@
.idea/
.python-version
db.sqlite3
.env
__pycache__/
identifier.sqlite

0
cms/__init__.py

22
cms/migrations/0001_initial.py

@ -0,0 +1,22 @@
# Generated by Django 4.1.4 on 2022-12-09 17:49
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Article',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=100)),
('body', models.TextField()),
],
),
]

0
cms/migrations/__init__.py

6
cms/models.py

@ -0,0 +1,6 @@
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=100)
body = models.TextField()

6
cms/urls.py

@ -0,0 +1,6 @@
from .views import ArticleView
from django.urls import path
urlpatterns = [
path('articles/', ArticleView.as_view())
]

18
cms/views.py

@ -0,0 +1,18 @@
from json import JSONDecoder
import requests
import os
from django.http import JsonResponse
from django.views import View
from django.utils.decorators import method_decorator
from django.views.decorators.csrf import csrf_exempt
from cms.models import Article
@method_decorator(csrf_exempt, name='dispatch')
class ArticleView(View):
def post(self, request):
article_data = JSONDecoder().decode(request.body.decode())
article = Article.objects.create(**article_data)
response = {'ok': True}
return JsonResponse(response)

3
crossposting_backend/urls.py

@ -14,8 +14,9 @@ Including another URLconf
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('cms/', include('cms.urls')),
]

Loading…
Cancel
Save