Notes_site - Это сайт с заметками написанный на html/css/js/python(Django), в котором пользователи могут регестрироваться, оставлять заметки и их выполнять.
Notes_site api - Сайт имеет свою api, написана на библиотеке djangorestframework, ниже будет расмотрено её создание
Запуск других различных скриптов - В проекте по мимо тестового сервера можно будет запускать и другие скрипты, ниже тоже будет это расмотрено
Клонируем репозиторий:
git clone https://github.com/sadlyOs/notes_site_django.git
Устанавливаем виртуальное окружение следующей командой
python3 -m env venv
Устанавливаем все нужные библиотеки из файла requirements.txt
python3 -m pip3 install -r requirements.txt
Запускаем наш тестовый сервер
Запуск на Windows:
python manage.py runserver
Запуск на Linux
python3 manage.py runserver
Советуется называть приложение отталкиваясь от названия вашего проекта
management
commands
scripts.py
import sqlite3
from django.core.management.base import BaseCommand
from pprint import pprint
class Command(BaseCommand):
help = "Пробегаемся по моделям" # Обязательно пропишите эту переменную, чтобы после ввожа -h было понятно о чём ваш скрипт
def handle(self, *args, **options):
with sqlite3.connect("db.sqlite3") as data:
cursor = data.cursor()
cursor.execute("""select * from notes_todo""")
pprint(cursor.fetchall())
В примере выше скрипт проходится по основным моделям в базе данных В handle прописываете основные функции вашего скрипта
Теперь вы можете запускать скрипт прямиком с Django следующей командой
python3 manage.py scripts
Про создания api вы можете прочитать в форумах в гугле, здесь я в кратце покажу, что прописывать. 🖊️
path('testapi/', include('<название приложения>.urls')),
Мы создали страницу testapi к которой будут прикрепляться страницы с <Названия приложения>.urls
serializers.py, urls.py, api.py
from rest_framework import serializers
from .models import <Класс с моделями>
class TodoSerializer(serializers.ModelSerializer):
class Meta:
model = <Класс с моделями>
fields = '__all__' # используя api пользователь может получить все модели с класса с моделями
from .models import <Класс с моделями>
from rest_framework import viewsets, permissions
from .serializers import TodoSerializer
class TodoViewSet(viewsets.ModelViewSet):
queryset = <Класс с моделями>.objects.all() # Берём все объекты (модели) с класса
permission_classes = [
permissions.AllowAny
]
serializer_class = TodoSerializer
from rest_framework import routers
from .api import TodoViewSet
router = routers.DefaultRouter()
router.register('api/notes', TodoViewSet, 'notes')
urlpatterns = router.urls
Теперь после того,как мы создали своё api мы можем достать с сайта json файл для парсинга значений Теперь достать json можно по следующему адресу
http://127.0.0.1:8000/testapi/api/notes/