{"id":4167,"date":"2023-11-04T23:14:06","date_gmt":"2023-11-04T23:14:06","guid":{"rendered":"http:\/\/localhost:10003\/building-web-applications-with-django\/"},"modified":"2023-11-05T05:47:58","modified_gmt":"2023-11-05T05:47:58","slug":"building-web-applications-with-django","status":"publish","type":"post","link":"http:\/\/localhost:10003\/building-web-applications-with-django\/","title":{"rendered":"Building web applications with Django"},"content":{"rendered":"

Django is a high-level web framework that lets developers easily build web applications quickly. It is free and open source, and is widely used by developers all around the world. Django focuses on the reusability and pluggability of components, encouraging developers to write clean and reusable code.<\/p>\n

In this tutorial, we will guide you through building a web application using Django, step-by-step. We will first help you get started by setting up the development environment and then walk you through the process of creating a simple web app.<\/p>\n

Getting Started<\/h2>\n

Before we start building our web app, we need to set up our development environment. To get started, follow these steps:<\/p>\n

1. Install Python<\/h3>\n

Django is a Python framework. So, the first step is to install Python. You can download the latest version of Python from the official website: https:\/\/www.python.org\/downloads\/<\/p>\n

2. Install Django<\/h3>\n

Once you have installed Python, you can install Django using pip, the Python package manager. Open your terminal (command prompt or PowerShell for Windows) and run the following command:<\/p>\n

pip install Django\n<\/code><\/pre>\n

This will install the latest version of Django on your system.<\/p>\n

3. Create a new Django project<\/h3>\n

Now that we have installed Django, let’s create a new Django project. Open your terminal and run the following command:<\/p>\n

django-admin startproject myproject\n<\/code><\/pre>\n

Replace myproject<\/code> with the name of your project. This will create a new Django project in a directory with the same name.<\/p>\n

4. Run the development server<\/h3>\n

Let’s start the development server and see if everything is working correctly. Navigate to the project directory and run the following command:<\/p>\n

python manage.py runserver\n<\/code><\/pre>\n

This will start the development server on port 8000 by default. You should see a message in your terminal that says “Starting development server at http:\/\/127.0.0.1:8000\/”. Open your web browser and go to http:\/\/127.0.0.1:8000\/. You should see a “Welcome to Django” page.<\/p>\n

Congratulations! You have set up your development environment and created a new Django project.<\/p>\n

Creating a Simple Web App<\/h2>\n

Now that we have set up our development environment and created a new Django project let’s create a simple web app. Our web app will be a simple blog where users can create new posts, view posts, and leave comments.<\/p>\n

1. Create a new Django app<\/h3>\n

In Django, a project is divided into multiple apps. An app is a standalone module that does a specific job. We will create a new app for our blog. Navigate to the project directory and run the following command:<\/p>\n

python manage.py startapp blog\n<\/code><\/pre>\n

This will create a new Django app named blog<\/code>.<\/p>\n

2. Configure the database<\/h3>\n

Django comes with support for various databases, including SQLite, MySQL, and PostgreSQL. In this tutorial, we will use SQLite. Open the settings.py<\/code> file in the project directory and find the DATABASES<\/code> setting. Replace it with the following:<\/p>\n

DATABASES = {\n    'default': {\n        'ENGINE': 'django.db.backends.sqlite3',\n        'NAME': BASE_DIR \/ 'db.sqlite3',\n    }\n}\n<\/code><\/pre>\n

This will configure Django to use SQLite as the default database.<\/p>\n

3. Create the blog models<\/h3>\n

In Django, models represent the data in our application. We will create models for blog posts and comments. Open the models.py<\/code> file in the blog<\/code> app directory and add the following code:<\/p>\n

from django.db import models\nfrom django.contrib.auth.models import User\n\nclass Post(models.Model):\n    title = models.CharField(max_length=200)\n    author = models.ForeignKey(User, on_delete=models.CASCADE)\n    body = models.TextField()\n\nclass Comment(models.Model):\n    post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='comments')\n    author = models.ForeignKey(User, on_delete=models.CASCADE)\n    body = models.TextField()\n    created_on = models.DateTimeField(auto_now_add=True)\n<\/code><\/pre>\n

This defines two models, Post<\/code> and Comment<\/code>. The Post<\/code> model contains a title, author, and body. The Comment<\/code> model contains a post, author, body, and created_on timestamp.<\/p>\n

4. Create the blog views<\/h3>\n

In Django, views handle the HTTP requests and responses. We will create views to display the blog posts and comments, as well as a form to create new posts and comments. Open the views.py<\/code> file in the blog<\/code> app directory and add the following code:<\/p>\n

from django.shortcuts import render, get_object_or_404\nfrom .models import Post, Comment\nfrom .forms import CommentForm\n\ndef post_list(request):\n    posts = Post.objects.all()\n    return render(request, 'blog\/post_list.html', {'posts': posts})\n\ndef post_detail(request, pk):\n    post = get_object_or_404(Post, pk=pk)\n    comments = post.comments.all()\n    if request.method == 'POST':\n        form = CommentForm(request.POST)\n        if form.is_valid():\n            comment = form.save(commit=False)\n            comment.post = post\n            comment.author = request.user\n            comment.save()\n    else:\n        form = CommentForm()\n    return render(request, 'blog\/post_detail.html', {'post': post, 'comments': comments, 'form': form})\n\ndef post_new(request):\n    if request.method == \"POST\":\n        form = PostForm(request.POST)\n        if form.is_valid():\n            post = form.save(commit=False)\n            post.author = request.user\n            post.save()\n            return redirect('post_detail', pk=post.pk)\n    else:\n        form = PostForm()\n    return render(request, 'blog\/post_edit.html', {'form': form})\n<\/code><\/pre>\n

This defines three views, post_list<\/code>, post_detail<\/code>, and post_new<\/code>. post_list<\/code> displays a list of all posts, post_detail<\/code> displays a single post and associated comments, and post_new<\/code> displays a form to create a new post.<\/p>\n

5. Create the blog forms<\/h3>\n

In Django, forms handle user input. We will create a form to allow users to create new comments. Open the forms.py<\/code> file in the blog<\/code> app directory and add the following code:<\/p>\n

from django import forms\nfrom .models import Comment\n\nclass CommentForm(forms.ModelForm):\n\n    class Meta:\n        model = Comment\n        fields = ('body',)\n<\/code><\/pre>\n

This defines a form for creating a new comment. The form contains a single field for the body of the comment.<\/p>\n

6. Create the blog templates<\/h3>\n

In Django, templates handle the display of data in HTML. We will create templates to display the blog posts and comments, as well as forms to create new posts and comments. First, create a new directory named templates<\/code> in the blog<\/code> app directory. Then, create the following HTML files:<\/p>\n

base.html<\/code>:<\/p>\n

{% load static %}\n<!DOCTYPE html>\n<html>\n<head>\n    <title>{% block title %}{% endblock %}<\/title>\n    <link rel=\"stylesheet\" href=\"{% static 'css\/style.css' %}\">\n<\/head>\n<body>\n\n<div class=\"header\">\n    <h1><a href=\"{% url 'post_list' %}\">My Blog<\/a><\/h1>\n<\/div>\n\n<div class=\"content\">\n    {% block content %}{% endblock %}\n<\/div>\n\n<div class=\"footer\">\n    \u00a9 My Blog 2021\n<\/div>\n\n<\/body>\n<\/html>\n<\/code><\/pre>\n

post_list.html<\/code>:<\/p>\n

{% extends 'blog\/base.html' %}\n\n{% block content %}\n\n{% for post in posts %}\n    <div class=\"post\">\n        <h2><a href=\"{% url 'post_detail' pk=post.pk %}\">{{ post.title }}<\/a><\/h2>\n        <p class=\"meta\">Posted by {{ post.author }} on {{ post.published_date }}<\/p>\n        <p>{{ post.body }}<\/p>\n    <\/div>\n{% endfor %}\n\n{% endblock %}\n<\/code><\/pre>\n

post_detail.html<\/code>:<\/p>\n

{% extends 'blog\/base.html' %}\n\n{% block content %}\n\n<div class=\"post\">\n    <h2>{{ post.title }}<\/h2>\n    <p class=\"meta\">Posted by {{ post.author }} on {{ post.published_date }}<\/p>\n    <p>{{ post.body }}<\/p>\n<\/div>\n\n{% for comment in comments %}\n    <div class=\"comment\">\n        <p class=\"meta\">Posted by {{ comment.author }} on {{ comment.created_on }}<\/p>\n        <p>{{ comment.body }}<\/p>\n    <\/div>\n{% empty %}\n    <p>No comments yet.<\/p>\n{% endfor %}\n\n<h3>Leave a comment<\/h3>\n\n<form method=\"post\">\n    {% csrf_token %}\n    {{ form.as_p }}\n    <button type=\"submit\">Submit<\/button>\n<\/form>\n\n{% endblock %}\n<\/code><\/pre>\n

post_edit.html<\/code>:<\/p>\n

{% extends 'blog\/base.html' %}\n\n{% block content %}\n\n<h1>New Post<\/h1>\n\n<form method=\"post\">\n    {% csrf_token %}\n    {{ form.as_p }}\n    <button type=\"submit\">Save<\/button>\n<\/form>\n\n{% endblock %}\n<\/code><\/pre>\n

7. Create the blog URLs<\/h3>\n

In Django, URLs map the HTTP requests to the appropriate views. We will create URL patterns for our blog views. Open the urls.py<\/code> file in the blog<\/code> app directory and add the following code:<\/p>\n

from django.urls import path\nfrom . import views\n\nurlpatterns = [\n    path('', views.post_list, name='post_list'),\n    path('post\/<int_pk>\/', views.post_detail, name='post_detail'),\n    path('post\/new\/', views.post_new, name='post_new'),\n]\n<\/code><\/pre>\n

This defines three URL patterns, one for each view.<\/p>\n

8. Include the blog URLs in the project URLs<\/h3>\n

Now that we have created the URLs for our blog app, we need to include them in the project URLs. Open the urls.py<\/code> file in the project directory and add the following code:<\/p>\n

from django.contrib import admin\nfrom django.urls import include, path\n\nurlpatterns = [\n    path('admin\/', admin.site.urls),\n    path('', include('blog.urls')),\n]\n<\/code><\/pre>\n

This includes the URLs for the blog<\/code> app under the root URL.<\/p>\n

9. Migrate the database<\/h3>\n

Finally, we need to create the database tables. Run the following command in the terminal:<\/p>\n

python manage.py migrate\n<\/code><\/pre>\n

This will automatically create the necessary database tables for our app.<\/p>\n

10. Run the development server<\/h3>\n

Let’s start the development server and see our app in action. Navigate to the project directory and run the following command:<\/p>\n

python manage.py runserver\n<\/code><\/pre>\n

Open your web browser and go to http:\/\/127.0.0.1:8000\/. You should see a list of blog posts. Click on a post to view it in detail and leave a comment.<\/p>\n

Congratulations! You have created a simple web app using Django.<\/p>\n

Conclusion<\/h2>\n

In this tutorial, we have shown you how to build a simple web app using Django. We covered the basics of Django including models, views, templates, URLs, and more. With this knowledge, you can now go on to build more complex web apps using Django. Happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"

Django is a high-level web framework that lets developers easily build web applications quickly. It is free and open source, and is widely used by developers all around the world. Django focuses on the reusability and pluggability of components, encouraging developers to write clean and reusable code. In this tutorial, Continue Reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[117,1357,137,49,1533,698],"yoast_head":"\nBuilding web applications with Django - Pantherax Blogs<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/localhost:10003\/building-web-applications-with-django\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building web applications with Django\" \/>\n<meta property=\"og:description\" content=\"Django is a high-level web framework that lets developers easily build web applications quickly. It is free and open source, and is widely used by developers all around the world. Django focuses on the reusability and pluggability of components, encouraging developers to write clean and reusable code. In this tutorial, Continue Reading\" \/>\n<meta property=\"og:url\" content=\"http:\/\/localhost:10003\/building-web-applications-with-django\/\" \/>\n<meta property=\"og:site_name\" content=\"Pantherax Blogs\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-04T23:14:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-05T05:47:58+00:00\" \/>\n<meta name=\"author\" content=\"Panther\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Panther\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t \"@context\": \"https:\/\/schema.org\",\n\t \"@graph\": [\n\t {\n\t \"@type\": \"Article\",\n\t \"@id\": \"http:\/\/localhost:10003\/building-web-applications-with-django\/#article\",\n\t \"isPartOf\": {\n\t \"@id\": \"http:\/\/localhost:10003\/building-web-applications-with-django\/\"\n\t },\n\t \"author\": {\n\t \"name\": \"Panther\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7\"\n\t },\n\t \"headline\": \"Building web applications with Django\",\n\t \"datePublished\": \"2023-11-04T23:14:06+00:00\",\n\t \"dateModified\": \"2023-11-05T05:47:58+00:00\",\n\t \"mainEntityOfPage\": {\n\t \"@id\": \"http:\/\/localhost:10003\/building-web-applications-with-django\/\"\n\t },\n\t \"wordCount\": 942,\n\t \"publisher\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\"\n\t },\n\t \"keywords\": [\n\t \"\\\"Django\\\"\",\n\t \"\\\"MVC architecture\\\"]\",\n\t \"\\\"python web development\\\"\",\n\t \"\\\"Web development\\\"\",\n\t \"\\\"web frameworks\\\"\",\n\t \"[\\\"Building web applications\\\"\"\n\t ],\n\t \"inLanguage\": \"en-US\"\n\t },\n\t {\n\t \"@type\": \"WebPage\",\n\t \"@id\": \"http:\/\/localhost:10003\/building-web-applications-with-django\/\",\n\t \"url\": \"http:\/\/localhost:10003\/building-web-applications-with-django\/\",\n\t \"name\": \"Building web applications with Django - Pantherax Blogs\",\n\t \"isPartOf\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#website\"\n\t },\n\t \"datePublished\": \"2023-11-04T23:14:06+00:00\",\n\t \"dateModified\": \"2023-11-05T05:47:58+00:00\",\n\t \"breadcrumb\": {\n\t \"@id\": \"http:\/\/localhost:10003\/building-web-applications-with-django\/#breadcrumb\"\n\t },\n\t \"inLanguage\": \"en-US\",\n\t \"potentialAction\": [\n\t {\n\t \"@type\": \"ReadAction\",\n\t \"target\": [\n\t \"http:\/\/localhost:10003\/building-web-applications-with-django\/\"\n\t ]\n\t }\n\t ]\n\t },\n\t {\n\t \"@type\": \"BreadcrumbList\",\n\t \"@id\": \"http:\/\/localhost:10003\/building-web-applications-with-django\/#breadcrumb\",\n\t \"itemListElement\": [\n\t {\n\t \"@type\": \"ListItem\",\n\t \"position\": 1,\n\t \"name\": \"Home\",\n\t \"item\": \"http:\/\/localhost:10003\/\"\n\t },\n\t {\n\t \"@type\": \"ListItem\",\n\t \"position\": 2,\n\t \"name\": \"Building web applications with Django\"\n\t }\n\t ]\n\t },\n\t {\n\t \"@type\": \"WebSite\",\n\t \"@id\": \"http:\/\/localhost:10003\/#website\",\n\t \"url\": \"http:\/\/localhost:10003\/\",\n\t \"name\": \"Pantherax Blogs\",\n\t \"description\": \"\",\n\t \"publisher\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\"\n\t },\n\t \"potentialAction\": [\n\t {\n\t \"@type\": \"SearchAction\",\n\t \"target\": {\n\t \"@type\": \"EntryPoint\",\n\t \"urlTemplate\": \"http:\/\/localhost:10003\/?s={search_term_string}\"\n\t },\n\t \"query-input\": \"required name=search_term_string\"\n\t }\n\t ],\n\t \"inLanguage\": \"en-US\"\n\t },\n\t {\n\t \"@type\": \"Organization\",\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\",\n\t \"name\": \"Pantherax Blogs\",\n\t \"url\": \"http:\/\/localhost:10003\/\",\n\t \"logo\": {\n\t \"@type\": \"ImageObject\",\n\t \"inLanguage\": \"en-US\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/logo\/image\/\",\n\t \"url\": \"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg\",\n\t \"contentUrl\": \"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg\",\n\t \"width\": 1024,\n\t \"height\": 1024,\n\t \"caption\": \"Pantherax Blogs\"\n\t },\n\t \"image\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/logo\/image\/\"\n\t }\n\t },\n\t {\n\t \"@type\": \"Person\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7\",\n\t \"name\": \"Panther\",\n\t \"image\": {\n\t \"@type\": \"ImageObject\",\n\t \"inLanguage\": \"en-US\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/image\/\",\n\t \"url\": \"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g\",\n\t \"contentUrl\": \"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g\",\n\t \"caption\": \"Panther\"\n\t },\n\t \"sameAs\": [\n\t \"http:\/\/localhost:10003\"\n\t ],\n\t \"url\": \"http:\/\/localhost:10003\/author\/pepethefrog\/\"\n\t }\n\t ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Building web applications with Django - Pantherax Blogs","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/localhost:10003\/building-web-applications-with-django\/","og_locale":"en_US","og_type":"article","og_title":"Building web applications with Django","og_description":"Django is a high-level web framework that lets developers easily build web applications quickly. It is free and open source, and is widely used by developers all around the world. Django focuses on the reusability and pluggability of components, encouraging developers to write clean and reusable code. In this tutorial, Continue Reading","og_url":"http:\/\/localhost:10003\/building-web-applications-with-django\/","og_site_name":"Pantherax Blogs","article_published_time":"2023-11-04T23:14:06+00:00","article_modified_time":"2023-11-05T05:47:58+00:00","author":"Panther","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Panther","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/localhost:10003\/building-web-applications-with-django\/#article","isPartOf":{"@id":"http:\/\/localhost:10003\/building-web-applications-with-django\/"},"author":{"name":"Panther","@id":"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7"},"headline":"Building web applications with Django","datePublished":"2023-11-04T23:14:06+00:00","dateModified":"2023-11-05T05:47:58+00:00","mainEntityOfPage":{"@id":"http:\/\/localhost:10003\/building-web-applications-with-django\/"},"wordCount":942,"publisher":{"@id":"http:\/\/localhost:10003\/#organization"},"keywords":["\"Django\"","\"MVC architecture\"]","\"python web development\"","\"Web development\"","\"web frameworks\"","[\"Building web applications\""],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/localhost:10003\/building-web-applications-with-django\/","url":"http:\/\/localhost:10003\/building-web-applications-with-django\/","name":"Building web applications with Django - Pantherax Blogs","isPartOf":{"@id":"http:\/\/localhost:10003\/#website"},"datePublished":"2023-11-04T23:14:06+00:00","dateModified":"2023-11-05T05:47:58+00:00","breadcrumb":{"@id":"http:\/\/localhost:10003\/building-web-applications-with-django\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/localhost:10003\/building-web-applications-with-django\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/localhost:10003\/building-web-applications-with-django\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/localhost:10003\/"},{"@type":"ListItem","position":2,"name":"Building web applications with Django"}]},{"@type":"WebSite","@id":"http:\/\/localhost:10003\/#website","url":"http:\/\/localhost:10003\/","name":"Pantherax Blogs","description":"","publisher":{"@id":"http:\/\/localhost:10003\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/localhost:10003\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/localhost:10003\/#organization","name":"Pantherax Blogs","url":"http:\/\/localhost:10003\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/localhost:10003\/#\/schema\/logo\/image\/","url":"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg","contentUrl":"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg","width":1024,"height":1024,"caption":"Pantherax Blogs"},"image":{"@id":"http:\/\/localhost:10003\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7","name":"Panther","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/localhost:10003\/#\/schema\/person\/image\/","url":"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g","contentUrl":"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g","caption":"Panther"},"sameAs":["http:\/\/localhost:10003"],"url":"http:\/\/localhost:10003\/author\/pepethefrog\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/4167"}],"collection":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/comments?post=4167"}],"version-history":[{"count":1,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/4167\/revisions"}],"predecessor-version":[{"id":4383,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/4167\/revisions\/4383"}],"wp:attachment":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/media?parent=4167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/categories?post=4167"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/tags?post=4167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}