Сервис не ограничивается угловым, даже в Angular2 +,
. Сервис - это просто набор вспомогательных функций ...
И существует множество способов их создания и повторного использования приложение ...
1) Они могут быть все разделенные функции, которые экспортируются из js-файла, как показано ниже:
export const firstFunction = () => {
return "firstFunction";
}
export const secondFunction = () => {
return "secondFunction";
}
//etc
2) Мы также можем использовать заводской метод например, с набором функций ... с ES6 это может быть класс, а не конструктор функции:
class myService {
constructor() {
this._data = null;
}
setMyService(data) {
this._data = data;
}
getMyService() {
return this._data;
}
}
В этом случае вам нужно создать экземпляр с новым ключом ...
const myServiceInstance = new myService();
Также в этом случае каждый экземпляр имеет свою собственную жизнь, поэтому будьте осторожны, если вы хотите поделиться им, в этом случае вам нужно экспортировать только тот экземпляр, который вы хотите ...
3) Если ваша функция и utils не будут разделены, вы можете даже поместить их в компонент React, в этом случае, как функцию в вашем компоненте реакции ...
class Greeting extends React.Component {
getName() {
return "Alireza Dezfoolian";
}
render() {
return <h1>Hello, {this.getName()}</h1>;
}
}
4) Еще один способ, которым вы может обрабатывать вещи, может использовать Redux, это временный магазин для вас, поэтому, если вы его используете в своем приложении React lication, он может помочь вам с множеством функций setter setter, которые вы используете ... Это похоже на большой магазин, в котором хранятся следы ваших состояний, и вы можете делиться ими по своим компонентам, поэтому можете избавиться от многих проблем, возникающих при работе с геттерами, которые мы используем в услуги ...
Всегда полезно делать СУХОЙ код и не повторять то, что нужно использовать, чтобы сделать код многоразовым и читаемым, но не пытайтесь следовать угловым способам в приложении React, как указано в пункте 4, использование Redux может снизить потребность в услугах и ограничить их использование для некоторых вспомогательных вспомогательных функций, таких как item 1 ...
Вам не нужно получать приложение или модель только для того, чтобы получить тип контента - для этого есть удобный метод:
from django.contrib.contenttypes.models import ContentType
ContentType.objects.get_for_model(myobject)
Несмотря на название, он работает как для классов модели, так и для экземпляров. ,
app_label
доступно в качестве атрибута атрибута _meta
любой модели.
from django.contrib.auth.models import User
print User._meta.app_label
# The object name is also available
print User._meta.object_name