[PYTHON] Entwicklung mobiler Anwendungen mit IBM Bluemix Kinetise (2)

In Fortsetzung von Letztes Mal werde ich die Codeänderung von Python und die Funktionsprüfung mit POSTMAN erläutern.

** 2. Python Code Fix ** 2.1 Ändern Sie kinetise \ settings.py. Das Folgende ist ein Auszug aus dem korrigierten Teil. Grundsätzlich folgt es der Beschreibung in Starter SDKs der Kinetise-Hilfe. Wenn Sie jedoch einfach den Inhalt der Website kopieren, werden einfache Anführungszeichen in voller Breite angezeigt. Bitte beachten Sie, dass dies einen Fehler verursachen kann.

setting.Auszug aus py


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'comments',
    'rest_framework',
]
REST_FRAMEWORK = {
    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ],
        'DEFAULT_RENDERER_CLASSES': [
        'rest_framework.renderers.JSONRenderer',
        'rest_framework.renderers.BrowsableAPIRenderer',
        'rf_alter_api.renderers.AlterAPIRenderer'
    ],
    'DEFAULT_PARSER_CLASSES': [
        'rf_alter_api.parsers.AlterAPIParser',
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': [],
    'DEFAULT_PERMISSION_CLASSES': [],
        'EXCEPTION_HANDLER': 'rf_alter_api.views.alter_api_exception_handler',}

2.2 Führen Sie python manage.py createuperuser an der Eingabeaufforderung der virtuellen Umgebung (env3) aus. Unten ist das Befehlsprotokoll. Die Python-Laufzeit von Bluemix erlaubt keine Anmeldung am Betriebssystem, daher können Sie diesen Befehl nicht ausführen, und es ist schwierig, ihn in Ihre Shell einzubetten, da Sie kein Kennwort als Argument verwenden können. Daher wird der in dieser Arbeit erstellte Administrator wie in der Python-Laufzeit von Bluemix verwendet.

Befehlsprotokoll


(env3) C:\Users\hoge\workspace_env3\kinetise>python manage.py createsuperuser --username any --email [email protected]
Password:
Password (again):
Superuser created successfully.

(env3) C:\Users\hoge\workspace_env3\kinetise>

2.3. Schreiben Sie eine Modellklasse mit dem Namen "Kommentar" in kinetise \ commnets \ models.py. Das Folgende ist ein Auszug aus der Beschreibung.

models.Auszug aus py


class Comment(models.Model):
    author = models.CharField('Author', max_length=64)
    message = models.CharField('Message', max_length=1024)
    pub_date = models.DateTimeField('Date published', auto_now_add=True)
    def __str__(self):
        return self.author + ": " + self.message

Wenn Sie die Anzahl der für Mobile Application bereitgestellten JSON-Elemente erhöhen möchten, fügen Sie sie der Comment-Klasse hinzu. Der Rückgabewert wird für die Zeilenbezeichnung auf dem Administrationsbildschirm verwendet, sodass sie im Wesentlichen nicht geschrieben werden muss. Im folgenden Beispiel wird ein Element namens message2 hinzugefügt.

models.Auszug aus py


class Comment(models.Model):
    author = models.CharField('Author', max_length=64)
    message = models.CharField('Message', max_length=1024)
    pub_date = models.DateTimeField('Date published', auto_now_add=True)
    message2 = models.CharField('Message2', max_length=1024)
    def __str__(self):
        return self.author + ": " + self.message + ": " + self.message2

2.4. Beschreiben Sie die Zuordnung zwischen URL und Ansicht in kinetise \ urls.py. Befolgen Sie die Beschreibung der Starter-SDKs in der Kinetise-Hilfe. Wenn Sie jedoch ein JSON-Element (message2) wie in 2.3 oben hinzufügen, fügen Sie es explizit Feldern hinzu. Das Folgende ist ein Auszug aus den Korrekturen.

urls.Auszug aus py


class CommentsSerializer(AlterAPISerializer):
    context = serializers.SerializerMethodField()
    class Meta:
        model = Comment
        fields = ('context', 'author', 'message', "pub_date", 'message2',)

2.5. Schreiben Sie Kommentare \ admin.py gemäß der Beschreibung der Starter-SDKs in der Kinetise-Hilfe.

2.6 Klicken Sie mit der rechten Maustaste auf das Kinetise-Projekt, und führen Sie die Makemigrationskommentare "manage.py" und die Migration "manage.py" aus. Überprüfen Sie außerdem mit dem folgenden Befehl, wie Comment in sqlite3 implementiert ist, nur für den Fall. Dies kann zum Verständnis der Fehlerausgabe beitragen, wenn sie nicht ordnungsgemäß funktioniert.

(env3) C:\Users\hoge\workspace_env3\kinetise>python manage.py sqlmigrate comments 0001
BEGIN;
--
-- Create model Comment
--
CREATE TABLE "comments_comment" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "author" varchar(64) NOT NULL, "message" varchar(1024) NOT NULL, "pub_date" datetime NOT NULL, "message2" varchar(1024) NOT NULL);
COMMIT;

(env3) C:\Users\hoge\workspace_env3\kinetise>

2.7 Führen Sie manage.py runserver --noreload von Eclipse aus. Wenn Sie eine Fehlermeldung erhalten, überprüfen Sie die Schritte bis zu diesem Punkt. qiita post kinetise start.png

** 3. Bestätigen Sie den Betrieb mit POSTMAN ** 3.1. Verwenden Sie POSTMAN, um das Verhalten von GET und POST zu überprüfen. Geben Sie für POST die URL als `http: //127.0.0.1: 8000 / comment /` an, geben Sie raw und json in BODY und Send an. Wenn der Status 200 OK ist, funktioniert dies normal. .. qiita投稿POSTでPOSTMAN.png

Geben Sie für GET dieselbe URL wie POST an. Wenn der Status 200 OK ist, funktioniert er normal. qiita投稿GETでPOSTMAN.png (Ergänzung) Wenn es nicht richtig funktioniert, haben Sie keine andere Wahl, als die Arbeit zu überprüfen, aber mit dem Browser `http: //127.0.0.1: 8000 / admin /` und `http: //127.0 Es ist auch hilfreich, .0.1: 8000 / comment / `zu besuchen und die Ausgabe der Eclipse-Konsole zu überprüfen.

Dies ist das Ende der Erklärung zur Codeänderung von Python und zur Funktionsprüfung mit POSTMAN. Als Nächstes erkläre ich Bereitstellen von Bluemix zur Python-Laufzeit.

Recommended Posts

Entwicklung mobiler Anwendungen mit IBM Bluemix Kinetise (3)
Entwicklung mobiler Anwendungen mit IBM Bluemix Kinetise (2)
Entwicklung mobiler Anwendungen mit IBM Bluemix Kinetise (1)
Virtualisieren (isolieren) Sie die IBM i Python-Entwicklungsumgebung mit chroot
Entwicklungsverdauung mit Django
Entwicklung des Bluemix Python Microservice