Evgenii Legotckoi
Evgenii LegotckoiҚыр. 24, 2016, 9:59 Т.Ж.

Джанго - Сабақ 009. Әлеуметтік желіде JavaScript жоқ «Бөлісу» белгішелері

Сайттағы мақаланы бөлісуге болатын әлеуметтік желі белгішелері көптеген сайттардың күнделікті өмірінде берік орныққан. Веб-сайтты ауызша сөз арқылы жылжыту, әдетте, көптеген ресурстардың өсуі үшін өте тиімді нұсқа болып табылады, әсіресе тақырып өте үлкен әлеуметтік топтарға әсер етуі мүмкін болса. Бірақ қазір, жалпы, мәселе бұл туралы емес. Сондай-ақ статистиканы бақылауға мүмкіндік беретін Yandex түймелері немесе өте танымал UpToLike қызметі сияқты үшінші тарап қызметтерін пайдаланбай мұндай түймелерді қалай бекіту керек.

Бірақ бұл қызметтердің барлығының негізгі кемшілігі - пайдаланушы беттерінің жұмысын баяулатады. Әсіресе соңғы кездері UpToLike. мені ренжітеді.Сондықтан мұндай түймелерді ешбір JavaScript. сіз енгізу өте қисынды қадам.


Javascript арқылы әлеуметтік бөлісу

Мұндай түймелерді JavaScriptсіз ұйымдастыру үшін сіз барлық мақсатты әлеуметтік желілерді аралап, олардың API интерфейсін оқуыңыз керек. Дәлірек айтқанда, келуші бөлісетін сайтыңыздағы беттің мекенжайына қандай URL жіберілетінін білу.

Мен үшін мақсатты әлеуметтік желілер:

  • ВКонтакте
  • Твиттер
  • Фейсбук
  • Google+
  • Linkedin – бұл ең алдымен кәсіби байланыстарды дамытуға қызмет ететін кәсіби әлеуметтік желі.

Сайт Django жүйесінде әзірленіп жатқанын ескерсек, мысал тек осы құрылымға арналған болады.

Мақалалар сайты доменді есепке алмастан бет мекенжайын алу үшін қолданылатын get_absolute_url(), әдісі бар Article үлгісін пайдаланады. Статикалық файлдардан кескіндерді жүктеу де қолданылады.

Бұл ақпарат жеткілікті болуы керек, сондықтан қазір код барлық бес әлеуметтік желі үшін студияда:

{% load staticfiles %}
<a href="http://vk.com/share.php?url=https://evileg.com/ru/{{ article.get\_absolute\_url }}"
   target="\_blank" rel="nofollow">
    <img src="{% static 'images/social/vk.png' %}">
</a>
<a href="https://twitter.com/share?url=https://evileg.com/ru/{{ article.get\_absolute\_url }}"
   target="\_blank" rel="nofollow">
    <img src="{% static 'images/social/twitter.png' %}">
</a>
<a href="https://www.facebook.com/sharer/sharer.php?u=https://evileg.com/ru/{{ article.get\_absolute\_url }}"
   target="\_blank" rel="nofollow">
    <img src="{% static 'images/social/facebook.png' %}">
</a>
<a href="https://plus.google.com/share?url=https://evileg.com/ru/{{ article.get\_absolute\_url }}"
   target="\_blank" rel="nofollow">
    <img src="{% static 'images/social/google-plus.png' %}">
</a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https://evileg.com/ru/{{ article.get\_absolute\_url }}"
   target="\_blank" rel="nofollow">
    <img src="{% static 'images/social/linkedin.png' %}">
</a>

Белгішелердің өздерін қайдан алуға болатынына келетін болсақ, мен MaterialDesignIcons веб-сайтына қарауды ұсынамын, мұнда сіз тегін пайдалануға болатын материалды дизайн белгішелері өте көп, соның ішінде қажетті әлеуметтік медиа белгішелері.

Аз ғана JavaScript

Дегенмен, мен парақты жүктемейтін біраз Javascript қосамын. Өйткені, егер JavaScript мүлде болмаса, target="_blank" арқасында бөлек бет ашылады, оған пайдаланушы түсініктемелер қоса алады. Бірақ әдеттегі опция - бұл бөлек терезе ашылатын опция. Сондықтан өңдеушілерді onclick оқиғасына іліп қойған дұрыс, ол қойындының орнына бөлек терезе ашады.

{% load staticfiles %}
<a href="http://vk.com/share.php?url=https://evileg.com/ru/{{ article.get\_absolute\_url }}"
   onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false;"
   target="\_blank" rel="nofollow">
    <img src="{% static 'images/social/vk.png' %}">
</a>
<a href="https://twitter.com/share?url=https://evileg.com/ru/{{ article.get\_absolute\_url }}"
   onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false;"
   target="\_blank" rel="nofollow">
    <img src="{% static 'images/social/twitter.png' %}">
</a>
<a href="https://www.facebook.com/sharer/sharer.php?u=https://evileg.com/ru/{{ article.get\_absolute\_url }}"
   onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false;"
   target="\_blank" rel="nofollow">
    <img src="{% static 'images/social/facebook.png' %}">
</a>
<a href="https://plus.google.com/share?url=https://evileg.com/ru/{{ article.get\_absolute\_url }}"
   onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false;"
   target="\_blank" rel="nofollow">
    <img src="{% static 'images/social/google-plus.png' %}">
</a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https://evileg.com/ru/{{ article.get\_absolute\_url }}"
   onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false;"
   target="\_blank" rel="nofollow">
    <img src="{% static 'images/social/linkedin.png' %}">
</a>

Django үшін Timeweb хостының VDS-сервері ұсынамын.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз
Г

C++ - Тест 001. Первая программа и типы данных

  • Нәтиже:66ұпай,
  • Бағалау ұпайлары-1
t

C++ - Тест 001. Первая программа и типы данных

  • Нәтиже:33ұпай,
  • Бағалау ұпайлары-10
t

Qt - Тест 001. Сигналы и слоты

  • Нәтиже:52ұпай,
  • Бағалау ұпайлары-4
Соңғы пікірлер
G
GoattRockҚыр. 3, 2024, 1:50 Т.Қ.
Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
d
dblas5Шілде 5, 2024, 11:02 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssrАқп. 8, 2024, 6:43 Т.Қ.
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Енді форумда талқылаңыз
Evgenii Legotckoi
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
F
FynjyШілде 22, 2024, 4:15 Т.Ж.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCT
BlinCTМаусым 25, 2024, 1 Т.Ж.
Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
BlinCT
BlinCTМамыр 5, 2024, 5:46 Т.Ж.
Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
Evgenii Legotckoi
Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

Бізді әлеуметтік желілерде бақылаңыз