{"id":499,"date":"2017-04-29T11:20:22","date_gmt":"2017-04-29T02:20:22","guid":{"rendered":"http:\/\/www.typea.info\/blog\/index.php\/2017\/04\/29\/anaconda_pydev_django_rest\/"},"modified":"2017-04-29T11:20:22","modified_gmt":"2017-04-29T02:20:22","slug":"anaconda_pydev_django_rest","status":"publish","type":"post","link":"https:\/\/www.typea.info\/blog\/index.php\/2017\/04\/29\/anaconda_pydev_django_rest\/","title":{"rendered":"Anaconda \u3084\u3081\u3066 PyDev \u306b\u623b\u3063\u3066 Django REST"},"content":{"rendered":"<p><a href=\"https:\/\/www.amazon.co.jp\/%E9%80%80%E5%B1%88%E3%81%AA%E3%81%93%E3%81%A8%E3%81%AFPython%E3%81%AB%E3%82%84%E3%82%89%E3%81%9B%E3%82%88%E3%81%86-%E3%83%8E%E3%83%B3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%81%AB%E3%82%82%E3%81%A7%E3%81%8D%E3%82%8B%E8%87%AA%E5%8B%95%E5%8C%96%E5%87%A6%E7%90%86%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Al-Sweigart\/dp\/487311778X\/ref=as_li_ss_il?ie=UTF8&amp;qid=1493432287&amp;sr=8-3&amp;keywords=python&amp;linkCode=li2&amp;tag=typea09-22&amp;linkId=f151e4b20bacebbe2c702d495c320c43\" target=\"_blank\"><img decoding=\"async\" border=\"0\" src=\"\/\/ws-fe.amazon-adsystem.com\/widgets\/q?_encoding=UTF8&amp;ASIN=487311778X&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=typea09-22\"><\/a><img loading=\"lazy\" decoding=\"async\" style=\"border-top-style: none !important; border-left-style: none !important; border-bottom-style: none !important; border-right-style: none !important; margin: 0px\" border=\"0\" alt=\"\" src=\"https:\/\/ir-jp.amazon-adsystem.com\/e\/ir?t=typea09-22&amp;l=li2&amp;o=9&amp;a=487311778X\" width=\"1\" height=\"1\">  <\/p>\n<p><a href=\"http:\/\/www.django-rest-framework.org\/\">Django REST Framework<\/a> \u3092\u8a66\u305d\u3046\u3068\u3001<a href=\"https:\/\/www.typea.info\/blog\/index.php\/2017\/01\/02\/anacondaspyderdjango_rest\">Anaconda\u3068Spyder\u3067Django REST \u958b\u767a\u74b0\u5883\u3092\u6574\u3048\u305f<\/a> \u3093\u3060\u3051\u308c\u3069\u3082\u3001\u65b0\u8abfPC\u3067\u74b0\u5883\u3092\u3064\u304f\u308d\u3046\u3068\u601d\u3063\u305f\u3089\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u304c\u3067\u3066\u3001\u3042\u308c\u3084\u3053\u308c\u3084\u3044\u308d\u3044\u308d\u5bfe\u51e6\u3057\u3066\u307f\u305f\u3051\u3069\u3001\u3069\u3046\u306b\u3082\u3053\u3046\u306b\u3082\u306a\u3089\u306a\u3044\u3002<\/p>\n<pre class=\"prettyprint linenums\">C:\\Programs\\Anaconda3\\python.exe C:\\Programs\\Anaconda3\\Scripts\\conda-script.py create --yes --json --mkdir --name webapp python=3.6 --override-channels --channel https:\/\/conda.anaconda.org\/anaconda-fusion --channel https:\/\/repo.continuum.io\/pkgs\/pro --channel https:\/\/repo.continuum.io\/pkgs\/free --channel https:\/\/repo.continuum.io\/pkgs\/r --channel https:\/\/repo.continuum.io\/pkgs\/msys2: HTTP None None for url <https: repodata.json win-64 anaconda-fusion conda.anaconda.org><br>Elapsed: None<br><br>An HTTP error occurred when trying to retrieve this URL.<br>HTTP errors are often intermittent, and a simple retry will get you on your way.<br>SSLError(SSLError(SSLError(\"bad handshake: Error([('asn1 encoding routines', 'ASN1_item_verify', 'EVP lib'), ('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)\",),),)<br>\r\n<\/pre>\n<p>\u306e\u3067\u3001Anaconda\u306f\u3042\u304d\u3089\u3081\u3066\u3001<a href=\"http:\/\/typea.info\/blg\/glob\/pydev\/\">PyDev\u306b\u623b\u308b<\/a>\u3002<\/p>\n<h2>1.Django REST \u74b0\u5883\u7528\u306e venv \u3092\u4f5c\u6210<\/h2>\n<p><a href=\"https:\/\/docs.python.jp\/3\/library\/venv.html\">Python3\u3067\u306f\u3001venv \u304c\u6700\u521d\u304b\u3089\u540c\u68b1\u3055\u308c\u3066\u3044\u308b<\/a>\u305f\u3081\u3001django\u7528\u306e\u4eee\u60f3\u74b0\u5883\u3092\u9069\u5f53\u306a\u5834\u6240\u306b\u4f5c\u6210\u3057\u3001<\/p>\n<pre class=\"prettyprint linenums\">&gt;python -m venv c:\\workspaces\\venv\\django<\/pre>\n<p>\u4eee\u60f3\u74b0\u5883\u3092\u7acb\u3061\u4e0a\u3052\u308b\u3002<\/p>\n<pre class=\"prettyprint linenums\">&gt;cd c:\\workspaces\\venv\\django\\Scripts\r\n(django) c:\\workspaces\\venv\\django\\Scripts&gt;<\/pre>\n<h2>2.Django REST \u7528\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p>\u4eee\u60f3\u74b0\u5883\u306b\u3001<a href=\"http:\/\/www.django-rest-framework.org\/#installation\">\u5fc5\u8981\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u3092pip\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/a><\/p>\n<pre class=\"prettyprint linenums\">(django) c:\\workspaces\\venv\\django\\Scripts&gt;pip install Django\r\n(django) c:\\workspaces\\venv\\django\\Scripts&gt;pip install djangorestframework\r\n(django) c:\\workspaces\\venv\\django\\Scripts&gt;pip install markdown\r\n(django) c:\\workspaces\\venv\\django\\Scripts&gt;pip install django-filter<\/pre>\n<p>\u5185\u5bb9\u3092\u78ba\u8a8d<\/p>\n<pre class=\"prettyprint linenums\">(django) c:\\workspaces\\venv\\django\\Scripts&gt;pip freeze\r\nDjango==1.11\r\ndjango-filter==1.0.2\r\ndjangorestframework==3.6.2\r\nMarkdown==2.6.8\r\npytz==2017.2<\/pre>\n<h2>3.Eclipse \u3068 PyDev\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<h3>3.1 Eclipse\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<p><a title=\"https:\/\/eclipse.org\/\" href=\"https:\/\/eclipse.org\/\">https:\/\/eclipse.org\/<\/a><\/p>\n<p>\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3002<\/p>\n<h3>3.2 PyDev\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<p><a title=\"http:\/\/www.pydev.org\/\" href=\"http:\/\/www.pydev.org\/\">http:\/\/www.pydev.org\/<\/a><\/p>\n<p>Eclipse\u3092\u8d77\u52d5\u3057\u3066\u3001HELP \u2013 Install new software \u304b\u3089\u3001Add \u3067 PyDev &#8211; <a href=\"http:\/\/www.pydev.org\/updates\/\">http:\/\/www.pydev.org\/updates\/<\/a> \u3092\u8ffd\u52a0\u3057\u3001\u30a6\u30a3\u30b6\u30fc\u30c9\u306b\u5f93\u3063\u3066\u3001PyDev\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3002<\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django02.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"pydev_django02\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"pydev_django02\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django02_thumb.jpg\" width=\"441\" height=\"228\"><\/a><\/p>\n<p>Window \u2013 Preference \u304b\u3089\u3001PyDev \u2013 Interpreters \u2013 Python Interpreters \u304b\u3089\u3001New\u3067\u3001\u4e0a\u8a18\u3067\u4f5c\u6210\u3057\u305f\u3001\u4eee\u60f3\u74b0\u5883\u306ePyton.exe\u3092\u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u306b\u6307\u5b9a\u3059\u308b\u3002<\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django01.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"pydev_django01\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"pydev_django01\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django01_thumb.jpg\" width=\"388\" height=\"291\"><\/a><\/p>\n<blockquote>\n<p>pip\u3067\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u8ffd\u52a0\u3057\u305f\u3089\u3001\u3053\u306e\u753b\u9762\u304b\u3089\u3001Apply \u3067Eclipse\u3078\u53cd\u6620\u3055\u305b\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002<\/p>\n<\/blockquote>\n<h2>4.Djang \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210<\/h2>\n<p>\u65b0\u898f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u3001Django\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210<\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django03.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"pydev_django03\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"pydev_django03\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django03_thumb.jpg\" width=\"244\" height=\"244\"><\/a><\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django04.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"pydev_django04\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"pydev_django04\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django04_thumb.jpg\" width=\"288\" height=\"402\"><\/a><\/p>\n<p>Grammer Version \u3092 3.6 \u3001Interpreter \u3092\u4e0a\u8a18\u3067\u4f5c\u6210\u3057\u305f\u3082\u306e\u306b\u8a2d\u5b9a<\/p>\n<h2>5.Django REST\u7528\u57fa\u672c\u8a2d\u5b9a<\/h2>\n<h3>5.1 \u57fa\u672c\u8a2d\u5b9a<\/h3>\n<p><a title=\"http:\/\/www.django-rest-framework.org\/#installation\" href=\"http:\/\/www.django-rest-framework.org\/#installation\">http:\/\/www.django-rest-framework.org\/#installation<\/a><\/p>\n<p><strong>settings.py<\/strong><\/p>\n<pre class=\"prettyprint linenums\">INSTALLED_APPS = [\r\n        :\r\n    'rest_framework',\r\n]<\/pre>\n<pre class=\"prettyprint linenums\">REST_FRAMEWORK = {\r\n    # Use Django's standard `django.contrib.auth` permissions,\r\n    # or allow read-only access for unauthenticated users.\r\n    'DEFAULT_PERMISSION_CLASSES': [\r\n        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'\r\n    ]\r\n}<\/pre>\n<p><strong>urls.py<\/strong><\/p>\n<p>API\u60c5\u5831\u3092\u95b2\u89a7\u53ef\u80fd\u306b\u3057\u305f\u3044\u5834\u5408\u3001\u30ed\u30b0\u30a4\u30f3\/\u30a2\u30a6\u30c8\u306e\u6a5f\u80fd\u304c\u5fc5\u8981\u306b\u306a\u308b\u3060\u308d\u3046\u3002\u305d\u306e\u5834\u5408\u3001\u30eb\u30fc\u30c8 urls.py \u30d5\u30a1\u30a4\u30eb\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3059\u308b<\/p>\n<pre class=\"prettyprint linenums\">from django.conf.urls import url, include\r\nfrom django.contrib import admin\r\nfrom django.contrib.auth.models import User\r\nfrom rest_framework import routers, serializers, viewsets\r\n\r\n# Serializers define the API representation.\r\nclass UserSerializer(serializers.HyperlinkedModelSerializer):\r\n    class Meta:\r\n        model = User\r\n        fields = ('url', 'username', 'email', 'is_staff')\r\n\r\n# ViewSets define the view behavior.\r\nclass UserViewSet(viewsets.ModelViewSet):\r\n    queryset = User.objects.all()\r\n    serializer_class = UserSerializer\r\n    \r\n# Routers provide an easy way of automatically determining the URL conf.\r\nrouter = routers.DefaultRouter()\r\nrouter.register(r'users', UserViewSet)\r\n\r\nurlpatterns = [\r\n    url(r'^admin\/', admin.site.urls),\r\n    url(r'^', include(router.urls)),\r\n    url(r'^api-auth\/', include('rest_framework.urls', namespace='rest_framework'))\r\n]\r\n<\/pre>\n<h3>5.2 \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4f5c\u6210<\/h3>\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30e1\u30cb\u30e5\u30fc &#8211; Django &#8211; Migrate<\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django05.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"pydev_django05\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"pydev_django05\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django05_thumb.jpg\" width=\"379\" height=\"235\"><\/a><\/p>\n<h3>5.3 admin\u30e6\u30fc\u30b6\u30fc\u3092\u4f5c\u6210<\/h3>\n<pre class=\"prettyprint linenums\">(django) C:\\workspaces\\eclipse\\workspace_django\\django_api_lesson\\django_api_lesson&gt;python manage.py createsuperuser\r\nUsername (leave blank to use 'pppiroto'):\r\nEmail address: pppiroto@gmail.com\r\nPassword:\r\nPassword (again):\r\nSuperuser created successfully.<\/pre>\n<h2>6. Django\u8d77\u52d5<\/h2>\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30e1\u30cb\u30e5\u30fc \u2013 Run As \u2013 PyDev Django<\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django06.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"pydev_django06\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"pydev_django06\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django06_thumb.jpg\" width=\"403\" height=\"243\"><\/a><\/p>\n<h3>6.1 \u52d5\u4f5c\u78ba\u8a8d<\/h3>\n<p><a title=\"http:\/\/localhost:8000\/\" href=\"http:\/\/localhost:8000\/\">http:\/\/localhost:8000\/<\/a><\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django07.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"pydev_django07\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"pydev_django07\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django07_thumb.jpg\" width=\"325\" height=\"269\"><\/a><\/p>\n<p><a title=\"http:\/\/localhost:8000\/users\/?format=json\" href=\"http:\/\/localhost:8000\/users\/?format=json\">http:\/\/localhost:8000\/users\/?format=json<\/a><\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django08.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"pydev_django08\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"pydev_django08\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/e2c80e7b1ac3_7CED\/pydev_django08_thumb.jpg\" width=\"373\" height=\"170\"><\/a><\/p>\n<p>\u53d6\u308a\u5408\u3048\u305a\u3001\u52d5\u4f5c\u78ba\u8a8d\u307e\u3067\u3067\u304d\u305f\u3002<\/p>\n<p><a href=\"https:\/\/www.amazon.co.jp\/%E5%85%A5%E9%96%80-Python-3-Bill-Lubanovic\/dp\/4873117380\/ref=as_li_ss_il?ie=UTF8&amp;qid=1493432287&amp;sr=8-4&amp;keywords=python&amp;linkCode=li2&amp;tag=typea09-22&amp;linkId=acee768eb0f89243136e3abc09f3c890\" target=\"_blank\"><img decoding=\"async\" border=\"0\" src=\"\/\/ws-fe.amazon-adsystem.com\/widgets\/q?_encoding=UTF8&amp;ASIN=4873117380&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=typea09-22\"><\/a><img loading=\"lazy\" decoding=\"async\" style=\"border-top-style: none !important; border-left-style: none !important; border-bottom-style: none !important; border-right-style: none !important; margin: 0px\" border=\"0\" alt=\"\" src=\"https:\/\/ir-jp.amazon-adsystem.com\/e\/ir?t=typea09-22&amp;l=li2&amp;o=9&amp;a=4873117380\" width=\"1\" height=\"1\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Django REST Framework \u3092\u8a66\u305d\u3046\u3068\u3001Anaconda\u3068Spyder\u3067Django REST \u958b\u767a\u74b0\u5883\u3092\u6574\u3048\u305f \u3093\u3060\u3051\u308c\u3069\u3082\u3001\u65b0\u8abfPC\u3067\u74b0\u5883\u3092\u3064\u304f\u308d\u3046\u3068\u601d\u3063\u305f\u3089\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u304c\u3067\u3066\u3001\u3042\u308c\u3084\u3053\u308c\u3084\u3044 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"","vkexunit_cta_each_option":"","footnotes":""},"categories":[16,18,20,67],"tags":[],"class_list":["post-499","post","type-post","status-publish","format-standard","hentry","category-eclipse","category-pydev","category-python","category-rest"],"veu_head_title_object":{"title":"","add_site_title":""},"_links":{"self":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/posts\/499","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=499"}],"version-history":[{"count":0,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/posts\/499\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=499"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=499"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}