Первый подход - создание отдельных приложений Django и React. Django будет отвечать за обслуживание API, построенного с использованием инфраструктуры Django REST, и React будет использовать эти API, используя клиент Axios или API-интерфейс API браузера. Вам нужно иметь два сервера, как в разработке, так и в производстве, один для Django (REST API), а другой для React (для обслуживания статических файлов).
Второй подход отличается интерфейсом и бэкэнд приложения будут связаны. В основном вы будете использовать Django для того, чтобы обслуживать интерфейс React и выставлять REST API. Таким образом, вам нужно интегрировать React и Webpack с Django, это шаги, которые вы можете выполнить, чтобы сделать это
Сначала создайте проект Django, а затем внутри этого каталога проекта создайте приложение React с помощью React CLI
Для проекта Django установите django-webpack-loader с помощью pip:
pip install django-webpack-loader
Затем добавьте приложение в установленные приложения и настройте его в settings.py
, добавив следующий объект
WEBPACK_LOADER = {
'DEFAULT': {
'BUNDLE_DIR_NAME': '',
'STATS_FILE': os.path.join(BASE_DIR, 'webpack-stats.json'),
}
}
Затем добавьте шаблон Django, который будет использоваться для монтирования приложения React и будет обслуживаться Django
{ % load render_bundle from webpack_loader % }
Django + React
This is where React will be mounted
{ % render_bundle 'main' % }
Затем добавьте URL-адрес в urls.py
для обслуживания этого шаблона
from django.conf.urls import url
from django.contrib import admin
from django.views.generic import TemplateView
urlpatterns = [
url(r'^', TemplateView.as_view(template_name="main.html")),
]
Если вы запустите оба сервера Django и React, вы получите ошибку Django, говорящую, что webpack-stats.json
не существует. Так что вам нужно сделать приложение React возможным для создания файла статистики.
Идите вперед и перемещайтесь внутри своего приложения React, затем установите webpack-bundle-tracker
npm install webpack-bundle-tracker --save
Затем выгрузите свой Webpack конфигурации и перейдите к config/webpack.config.dev.js
, затем добавьте
var BundleTracker = require('webpack-bundle-tracker');
//...
module.exports = {
plugins: [
new BundleTracker({path: "../", filename: 'webpack-stats.json'}),
]
}
. Добавьте плагин BundleTracker к Webpack и дайте ему команду генерировать webpack-stats.json
в родительской папке.
Удостоверьтесь также в том, что вы делаете то же самое в config/webpack.config.prod.js
для производства.
Теперь, если вы повторно запустите сервер React, будет создан файл webpack-stats.json
, и Django сможет использовать его для поиска информации о пакетах Webpack, сгенерированных сервером React dev.
Есть и другие вещи. Более подробную информацию вы найдете в этом учебнике .
Я бы использовал команду git blame
. Это почти точно, для чего. Документация должна начать вас.
Чтобы увидеть фиксации, влияющие на строку 40 файла foo:
git blame -L 40,+1 foo
+1 означает ровно одну строку. Чтобы увидеть изменения для строк 40-60, это:
git blame -L 40,+21 foo
ИЛИ
git blame -L 40,60 foo
Второе число может быть смещением, обозначенным знаком «+», или номером строки , git wame docs
Если вам нужно только последнее изменение:
git blame
В противном случае вы можете попытаться автоматически найти оскорбительное изменение с помощью
git bisect
Вы можете использовать
git annotate filename (or)
git blame filename
git blame filename
- лучшая команда, чтобы показать вам эту информацию