Рубрики
Uncategorized

Django + DEV Опыт (DX)

Я был разработчиком Django уже около года ++, я не говорю, что я вполне стих в нем или я намерен … Теги с Джанго, Свелте, дежоптом.

Теперь я был разработчиком Django уже около года ++, я не говорю, что я вполне стих в нем или я собираюсь претендовать на это … Там так много, чтобы учиться, и каждый и каждый день я узнаю что-то новое … Настолько, что я думаю, что я никогда не смогу заканчивать изучать целые рамки Django и насколько это поразило меня, что несмотря ни на что, Джанго смог удержать меня.

Во всяком случае, одна вещь о Django, которую я хотел бы улучшить, это его система шаблонов … Должен ли я сказать его слишком «статический»? У него есть возможность стать гораздо больше со своей системой шаблонов, меняясь на Jinja2, действительно делает его гораздо более удивительным … Но сделать современное веб-приложение, которое соперничает самым большим веб-сайтом, я определенно думаю, что нам нужен правильный сценарий Java (JS ) фреймворк.

Мои базы выбора JS являются новейшим ребенком на блоке (во время этого письма) SVELTE. Я даже не могу начать рассказывать вам, как удивительно эта структура была для меня. Представьте, насколько легко иметь кому-то с минимальным воздействием JS, чтобы быстро помочь получить приложение, готовое в считанные минуты.

Тем не менее, я вроде вопросов с получением как Django, так и SVELTE работать вместе, я думаю, что это также относится к любым другим каркасам. Решение, которое я вижу в Интернете, было в основном связано с получением 2 отдельных сервера (один для Node.js через SAPPER/RUTIFIFY (оба считают хорошим решением SVELTE Server), так и Django в качестве сервера API) для связи через API.

Дело в том, что я до сих пор не нашел способ сделать его работать через систему шаблонов Django. Таким образом, за последние 2 недели я экспериментировал с интеграцией как этих замечательных рамок, и получить лучшее из обоих миров.

Если вы спросите меня, что я собираюсь представить здесь, не может быть лучшим решением, а некоторые могут сказать, что это даже не будет считаться целевыми усилиями. Я, честно говоря, не знаю или не вижу, есть ли какие-либо проблемы, которые могут возникнуть из этого, но время скажет, если его правильный путь взять.

Для тех, кто просто наткнулся на этот пост из-за метки SVELTE и не знал о Джанго, я хотел бы уточнить, что мне нравится в Джангу (разумеешься, что у меня нет опыта работы с другими рамками … Я повторяю не … Поэтому я не сравниваю с другими, и вы можете прокомментировать, как другие рамки справедливы сравниваются с Джанго).

Честно говоря, Django имеет эту удивительную Tagline (веб-каркас для перфекциониста с Datelines) … Я должен сказать, что год, когда я использовал Джанго, это поддержал его имя. Я получил задачу в пятницу вечером, работаю над ней по выходным и все еще удалось доставлять утро понедельника. Разум, вам это не какая-то случайная игрушечная проекта. Его правильный производительный готовый проект, который в настоящее время используется внутри компании, в которой я работаю сейчас. Некоторые могут утверждать, что если его для внутреннего использования я мог бы посмотреть через некоторые детали … такие как ценные бумаги, а также правильный аудит … Этот проект находится в облаке, из-за конфиденциальности информации о сохранении информации в веб-приложении, веб-приложение, пропавшись, а также при пробном пробном пробном пробном пробном пробном пробном порядке, прежде чем его привести к производству. На побочной записи я думаю, что это веб-приложение является одним из моих самых гордых проектов. Я думаю, что я пытаюсь сказать, вот то, что батарея включена в стоимость, такая как Django, действительно помогает ускорить проект от идеи завершить продукцию в выходные дни. Я знаю, я знаю: «Что … ты работаешь на выходных» … Ну как dev когда-нибудь, что вам нужно сделать такую жертву, верно?

Хватит хвастовство о том, насколько удивительным Джанго для меня правильно, вот часть шоу и скажи.

Сначала я бы сделал отказ от ответственности, я был заядлым пользователем CODEDEDCMS. CODEDEDUREDCMS в качестве его имени, представляет собой систему управления контентом (CMS), созданную CODEDEDED. Это расширение CMS Wagtail CMS, который является основам на основе Django. Я думаю, что решение, которое я бы предложил здесь, будет работать с Django без особой проблемы, но если вы будете следовать за проектом от начала до конца, я думаю, что вы можете удивить на том, насколько это возможно, это решение действительно.

Для этого решения также, я думаю, в зависимости от ваших предпочтений перспективной маршрутизации JS-маршрутизации, опыт может быть разным, но принять предложение «Предложение» здесь как руководство, а не то, что было установлено в камне Но я определенно предпочитаю устанавливать маршрут. Честно говоря, так как SVELTE3 по-прежнему относительно новой структурой, еще не много учебных пособий, которые еще предстоит сравнить с угловым, реагировать или даже Vue Но это не делает его меньшее влияние мощных рамок. Я бы даже поспорил, что если многие потратили время, чтобы попробовать эту рамку, вы будете удивлены, насколько велик DX …. Извините за хвастовство.

1. Получить свой Git готов

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

2. Потяните проект на свой компьютер

Честно говоря, я мог бы получить много ожогов здесь, но я честно ленив с командой Git, поэтому я полагаю на рабочем столе Github все это, пока …

Клонировать этот проект ….

Теперь вы можете просто открыть в своем Fav IDE, как для меня его VS Studio.

Просто нажмите на открытый в VS-коде.

Кстати, это правильное время, чтобы проверить, правильно ли ваш клон репо

Сравнить ваш каталог похож на мой ….

3. Давайте сначала установим виртуальную среду для Python

Я использовал Pipenv, но вы можете использовать любую другую виртуальную среду, хотя .. Для меня это просто проще с пиперсом ….

pipenv shell

Введите эту команду в вашем терминале создаст, если новая и активированная виртуальная среда. Вы должны быть в состоянии увидеть что-то вроде этого ….

На самом деле важная часть видит, что «()» в начале линии. Это означает, что теперь ваша виртуальная среда активирована.

Теперь проверь тоже Если ваш каталог изменится

Как вы можете видеть, есть новый Pipfile … Поэтому, если вы будете следить за этим, когда вы клонируете это приложение, я бы предложил, чтобы вы активировали вашу виртуальную среду Pipenv в каталоге, в котором вы видите Pipenv.

4. Установка кодом CMS в виртуальной среде Pipenv

Единственное, что отличается от Pipenv и PIP, устанавливает любую библиотеку Python — это изменить

pip install coderedcms

к

pipenv install coderedcms

Как вы можете увидеть его такую же команду, просто добавьте ENV в конце PIP .. Hack Я обычно могу скопировать команду, чтобы установить любой пакет и просто добавить ENV в конце … разговаривать об удобных. Я читаю где-то на самом деле, пока в виртуальной среде вы действительно можете использовать PIP напрямую Но я не пытался это И если я ошибаюсь, надеюсь, кто-то может поправить меня.

На самом деле, если это первый Python, который вы устанавливаете в библиотеке, Pipenv создаст новый файл PIPFile.lock

5. Давайте запустите проект CODEDEDCMS

Команда для этого будет

coderedcms start < project name >

Так для меня, так как я собираюсь назвать этот проект django_svelte … Нет дерьма правильно, нет творчества вообще ….

coderedcms start Django_Svelte

посмотрел на ваш каталог сейчас, он должен изменить на

6. Позволяет изменить каталог и установить мартируемый шаблон проекта

Сейчас поскольку Rutify (Svelte) является узлом проекта, я бы предложил вам открыть новый терминал, чтобы облегчить изменение между Python и Node

Нажмите знак плюс

Примечание Теперь, когда вы меняете терминал PipenV в CMD …

Как только вы находитесь в новом терминале, измените каталог на

Чтобы изменить каталог на django_svelte, команду является

cd Django_Svelte

BTW Быстрый совет, введите CD, а затем пространство, затем первый последний, а затем просто нажмите TAP для автозаполнения ….

Оказавшись в каталоге, мы должны сделать новый каталог, я назову этот каталог svelte,

mkdir Svelte

MKDIR — это команда для создания каталога

Проверьте режисс снова

Теперь давайте изменим каталог SVELTE с

cd Svelte

Теперь мы можем клонировать проект BROTIFIFY с помощью команды

npx @roxi/routify init

Нам нужно ждать некоторое время Ага

Теперь проверьте постоянно растущий размер вашего каталога ….

7. Давайте проверим, была ли устойчивая установка RUB

Чтобы запустить сервер Dev для расправления (SVELTE) является

npm run dev

давайте увидим его активированным в Chrome,

URL для этого будет

http://localhost:5000

Удивительно до сих пор,

RUBLIFY также включал в себя пример страницы с URL

http://localhost:5000/example

Теперь, когда мы знаем, что работают порции Mornifify (Svelte), позволяет внести изменения в Django, поэтому мы изменяем, сделаем Django служить приложением.

8. Джанго меняется, чтобы служить Svelte

Чтобы упростить это шоу и скажите, мы могли бы начать с приложения приложения.

Перейти к терминалу 1.Pipenv

Если вы не изменились на каталог django_svelte, просто введите

cd Django_Svelte

Теперь мы можем начать новый пример приложения с

python manage.py startapp example

посмотрите на свой каталог сейчас

До сих пор неплохо правильно ….

Пусть создать новое имя файла URLS.PY

Каталог должен выглядеть так

Внутренний пример/URLS.PY

Добавьте код ниже

from django.urls import re_path
from django.views.generic import TemplateView
from . import views

urlpatterns = [
    re_path(r'^.*$', TemplateView.as_view(template_name="example/index.html"))
]

Теперь давайте откроем каталог Django Svelte/Setting/Base.pay

В файл Base.py, первый реестр примера в качестве одного из установочных приложений

INSTALLED_APPS = [
    # all the other already install app,
    'example',
]

Теперь давайте отредактируем настройку шаблонов к этому

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'APP_DIRS': True,
        'DIRS': [
            BASE_DIR + '/Svelte/dist',
            BASE_DIR + '/templates',
        ],
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'wagtail.contrib.settings.context_processors.settings',
            ],
        },
    },
]

Теперь давайте добавим StaticFiles_dirs на base.py

STATICFILES_DIRS = [
    BASE_DIR + '/Svelte/dist',
] 

Теперь давайте изменим файл django_svelte/urls.py

Добавьте эту строку в списке URLPatterns

path('example/', include('example.urls')),

Я думаю, что теперь давайте попробуем запустить Python Dev Server, так как мы ранее попробуйте сервер, введите эту команду в терминале

python manage.py makemigrations
python manage.py migrate
python manage.py runserver

давайте дождаться, пока миграции работают свое волшебное прикосновение

Затем, наконец, вы бы увидели это

давайте откроем ссылку сейчас

http://127.0.0.1:8000

BTW Quick Tip, 127.0.0.1 имеют псевдоним localhost

так

http://localhost: 8000

тоже работает

Хорошо помните, что мы также регистрировали пример нашей ссылке?

попробуй идти

http://localhost:8000/example

Джанго бросит нам ошибку, которую шаблон не существует …

Теперь мы должны сделать немного изменений в нашу роль (SVELTE) часть проекта

9. Настройте SVELTE для работы с Django

Сначала найдите файл svelte/atacets/__ app.html

Теперь давайте сделаем это изменения в файл

{% load static %}




    
    

    Svelte app

    
    

    
    
    
    

    

    

    
    
    
    

    



    


Как только это сделано

Пожалуйста, проверьте свой терминал, если ваш сервер DEV NODE все еще работает, если да, мы должны убить его первым …

Нажмите на клавиатуру Ctrl + C

Тип Y.

Теперь ваш сервер узла сделан.

Введите это

npm run build

Вы увидите что-то вроде этого

Проверьте, работает ли ваш сервер Python Dev

давайте вернемся к Chrome и проверить, можно ли сервер Django

http://localhost:8000/example

идеально….

Хорошо, теперь для некоторого предостережения … Если вам нужно внести изменения в передний конец,

Каждый раз, когда вы хотите внести изменения на страницу и хотите подавать Django,

Пожалуйста, не забудьте построить приложение с

npm run build

Хотя ваш сервер узла работает, Django не сможет найти шаблон так Да что что-то иметь в виду.

Я думаю, что это правильное время, чтобы начать коммит Git, так что вы можете клонировать мое репо

10. Гит Commit.

Я думаю, что это часть, где вы должны нажать на вкладку Source Control на VS Code

Как вы видите, есть 126 изменений, которые я не обязан Git

Нажмите на сцену плюс (+) знак, чтобы совершить все изменения …. и добавьте заголовок

затем на клавиатуре щелчок

Ctrl + Enter.

Теперь это было привержено вашему местному Git …

Теперь вам нужно нажать на github.com

Это синхронируется между вашим местным Git для вашего Github учетная запись

Давайте проверим

Вы готовы …

ФГ, который был длинным постом … Честно говоря, я не ожидал, что это будет так долго, потребовалось меня, как 4 часа, чтобы написать эту позу, надеюсь, что это поможет парням …

Не стесняйтесь комментировать этот пост, если это поможет или вы запрашиваете некоторую помощь … Я постараюсь ответить как можно скорее.

Спасибо за это сделать это до этой части …. Я надеюсь, что вам нравится этот пост так сильно, как мне нравится писать …

Кстати, прежде чем я забуду, вот репо

https://github.com/ashrafZolkopli/Django_Svelte

Спасибо ребята

Оригинал: «https://dev.to/ashraf_zolkopli/django-svelte-best-dev-experience-dx-1848»