[PYTHON] Senden Sie Daten mit Vue.js an die DRF-API

Ich möchte Daten per POST an die im folgenden Artikel erstellte API senden und in der Datenbank registrieren. Ich möchte auf die von DRF erstellte API von Vue.js von Jsfiddle zugreifen

Umgebung

book/models.py


from django.db import models
import uuid
from django.utils import timezone

# Create your models here.
class Book(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    title = models.CharField(verbose_name='Titel', max_length=50)
    price = models.IntegerField(verbose_name='Preis')
    created_at = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.title

Außerdem ist Vue.js auf jsfiddle aufgeführt.

Daten, die Sie registrieren möchten

Ich möchte das Titelfeld und das Preisfeld als neue Daten in der Buchtabelle registrieren. id und created_at werden automatisch hinzugefügt, sodass Sie durchgehen können.

Schreiben Sie Vue.js.

html


<div id="app">
  <div>
    <h1>GET</h1>
    <p>Titel: {{ results[1].title }}</p><hr>
  </div>
  
  <div>
    <h1>POST</h1>
    <h2>Titel: {{ title }}</h2>
    <h2>¥{{ price }}</h2>
    <input v-model='title'>
    <input v-model='price'>
    <button v-on:click='postBook'>Senden</button>
  </div>
</div>

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

javascript


new Vue({
  el: '#app',
  data: {
    results: [],
    title: '',
    price: '',
  },
  methods:{
  	postBook: function(){
    	console.log('Hello')
      axios.post('http://127.0.0.1:8000/apiv1/book/', 
      { title : this.title , price : this.price })
    }
  },
  mounted() {
    axios.get('http://127.0.0.1:8000/apiv1/book/')
    .then(response => {this.results = response.data})
 },
})

Verwenden Sie die Direktive v-model mit dem Tag "input", um "title" und "price" festzulegen. Definieren Sie ein gleichnamiges Datenobjekt in der Vue-Instanz und lassen Sie den Inhalt leer.

Registrieren Sie "postBook" in Methoden. Verwenden Sie die v-on-Direktive für das "button tag", um es zu registrieren.

Bei der Methode "postBook" wird "axios.post" ("Endpunkt des Listenbildschirms", {Feldname: Daten, Feldname: Daten}) "verwendet, und das Feld und die Daten dafür werden POST.

Bisher: スクリーンショット 2020-03-28 15.26.17.png

Senden

スクリーンショット 2020-03-28 15.46.41.png

Wenn Sie auf Senden klicken ...

スクリーンショット 2020-03-28 15.48.11.png

Es wurde hinzugefügt.

Fügen Sie der Zahl ein Komma hinzu

Wenn Sie bei der Anzeige des Preises ein Komma hinzufügen möchten, erstellen Sie einen Filter in der Vue-Instanz und wenden Sie den Filter auf den Schnurrbart der Vorlage an, die Sie mit pipe = | anwenden möchten.

vue Instanz


  filters: {
    comma(value) {
      if (!value) return ''
      value = value.toString()
      return value.replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')
 }
 }

html


<h2>¥{{ price | comma }}</h2>
スクリーンショット 2020-03-28 16.00.46.png

Recommended Posts

Senden Sie Daten mit Vue.js an die DRF-API
Umgang mit unausgeglichenen Daten
Aufblasen von Daten (Datenerweiterung) mit PyTorch
[Python] API zum Senden von Google Mail erstellen
Senden Sie mit ESP32-WROOM-32 aufgenommene Bilder an AWS (API Gateway → Lambda → S3).
So senden Sie eine Anfrage mit Python an die DMM (FANZA) -API
Holen Sie sich Lebensmitteldaten mit Amazon API (Python)
Konvertieren Sie Excel-Daten mit Python in JSON
Versuchen Sie, mit Pandas in ordentliche Daten umzuwandeln
Wie man Problemdaten mit Paiza liest
Erstellen von CSV-Beispieldaten mit Hypothese
Senden Sie eine Nachricht mit Python an LINE (LINE Notify)
So senden Sie eine Nachricht mit Curl an LINE
Versuchen Sie, Doujin-Musikdaten mit Pandas zu aggregieren
Konvertieren Sie Daten mit Form (Anzahl der Daten, 1) in (Anzahl der Daten,) mit numpy.
Ich habe ein Tool zum Korrigieren von GPS-Daten mit der Map Matching API von Mapbox (Mapbox Map Matching API) erstellt.
[DRF + Vue.js] Fehler beim Erwerb der API (allgemeiner Fehler)
Ich habe versucht, die Daten mit Zwietracht zu speichern
Ich möchte 100 Datenwissenschaften mit Colaboratory schlagen
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
Speichern Sie Daten zum Flashen mit STM32 Nucleo Board
So kratzen Sie Pferderenndaten mit Beautiful Soup
[Einführung zur Minimierung] Datenanalyse mit SEIR-Modell ♬
So erhalten Sie Artikeldaten mithilfe der Qiita-API
Beispiel für eine Slack-Benachrichtigung mit Python Lambda
Schreiben Sie CSV-Daten mit AWS-Lambda + Python in AWS-S3
Senden Sie msgpack mit Ajax an die flk (werkzeug) Umgebung
So senden Sie automatisch E-Mails mit Anhängen mithilfe der Google Mail-API in Python
[Python] Erwähnen Sie mit der Slack-API mehrere Personen
Verwendung von xgboost: Mehrklassenklassifizierung mit Irisdaten
So kratzen Sie Bilddaten von Flickr mit Python
So konvertieren Sie horizontal gehaltene Daten mit Pandas in vertikal gehaltene Daten
Senden Sie Protokolldaten vom Server an Splunk Cloud
Lesehinweis: Einführung in die Datenanalyse mit Python
So erhalten Sie mit SQLAlchemy + MySQLdb mehr als 1000 Daten
Senden Sie Daten von Python über die Socket-Kommunikation an Processing
So extrahieren Sie mit Pandas Daten, denen der Wert nan nicht fehlt
Ich habe versucht, unsere Dunkelheit mit der Chatwork-API aufzudecken
termux × AWS Senden Sie mit IoT Standortinformationen für Smartphones an AWS
Erhalten Sie Kommentare und Abonnenten mit der YouTube-Daten-API
Analysieren mit Google Colaboratory mithilfe der Kaggle-API
Hochladen auf ein freigegebenes Laufwerk mit Google Drive API V3
Geben Sie Zaim-Daten mit Logstash in den Amazon Elasticsearch Service ein
So bedienen Sie die Discord API mit Python (Bot-Registrierung)
Übertragen Sie Daten mit Streamlit auf eine andere Seite (Registerkarte)
So extrahieren Sie mit Pandas Daten, denen der Wert nan nicht fehlt
Datenanalyse mit Python 2
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Daten mit TensorFlow lesen
Mail mit Django senden
Datenvisualisierung mit Pandas
Extrudieren Sie mit der Fusion360-API
Datenmanipulation mit Pandas!
Daten mit Pandas mischen