Skip to content

sadlyOs/notes_site_django

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django Djangorestframework Pillow pypi Python-version

notes_site_django

Notes_site Django 😆


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

Запускаем скрипты в Django

Для начала вам нужно создать проект и создать приложение с выбранным вам названием.

Советуется называть приложение отталкиваясь от названия вашего проекта

Теперь заходим в наше приложения и создаём папки в таком порядке и расположении:

management

commands

scripts.py

В 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 Сайта

Про создания api вы можете прочитать в форумах в гугле, здесь я в кратце покажу, что прописывать. 🖊️

В urls.py основного проекта в списке urlpatterns добавляем следующий код:

path('testapi/', include('<название приложения>.urls')),

Мы создали страницу testapi к которой будут прикрепляться страницы с <Названия приложения>.urls

Cоздаём три файла в папке приложения

serializers.py, urls.py, api.py 

В файле serializers.py прописываем

from rest_framework import serializers
from .models import <Класс с моделями>


class TodoSerializer(serializers.ModelSerializer):
    class Meta:
        model = <Класс с моделями>
        fields = '__all__'  # используя api пользователь может получить все модели с класса с моделями

В файле api.py прописываем

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

В файле urls.py прописываем

from rest_framework import routers
from .api import TodoViewSet

router = routers.DefaultRouter()
router.register('api/notes', TodoViewSet, 'notes')

urlpatterns = router.urls

Последнее

Достаём JSON файл

Теперь после того,как мы создали своё api мы можем достать с сайта json файл для парсинга значений Теперь достать json можно по следующему адресу

http://127.0.0.1:8000/testapi/api/notes/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published