[PYTHON] Développement d'applications mobiles avec IBM Bluemix Kinetise (2)

Dans la continuité de Dernière fois, je vais vous expliquer la modification du code de Python et la vérification du fonctionnement avec POSTMAN.

** 2. Correction du code Python ** 2.1. Modifiez kinetise \ settings.py. Ce qui suit est un extrait de la partie corrigée. Fondamentalement, il suit la description dans Starter SDKs du centre d'aide Kinetise, mais si vous copiez simplement le contenu du site Web, les guillemets simples seront en pleine largeur Veuillez noter que cela peut provoquer une erreur.

setting.Extrait de 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 Exécutez python manage.py createuperuser à l'invite de commande de l'environnement virtuel (env3). Voici le journal des commandes. Le runtime Python de Bluemix n'autorise pas la connexion au système d'exploitation, vous ne pouvez donc pas exécuter cette commande, et il est difficile de l'intégrer dans votre shell car vous ne pouvez pas prendre un mot de passe comme argument. Par conséquent, l'utilisateur administrateur créé dans ce travail sera utilisé tel quel dans le runtime Python de Bluemix.

Journal des commandes


(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. Ecrivez une classe Model appelée Comment dans kinetise \ commnets \ models.py. Ce qui suit est un extrait de la description.

models.Extrait de 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

Si vous souhaitez augmenter le nombre d'éléments JSON fournis à l'application mobile, ajoutez-le à la classe Comment. La valeur de retour est utilisée pour l'étiquette de ligne sur l'écran d'administration, il n'est donc essentiellement pas nécessaire de l'écrire. Dans l'exemple ci-dessous, un élément appelé message2 est ajouté.

models.Extrait de 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. Décrivez l'association entre url et vue dans kinetise \ urls.py. Suivez la description des kits de développement logiciel (SDK) de démarrage dans le centre d'aide Kinetise, mais si vous ajoutez un élément JSON (message2) comme dans 2.3. Ci-dessus, ajoutez-le explicitement aux champs. Ce qui suit est un extrait des corrections.

urls.Extrait de py


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

2.5. Écrivez les commentaires \ admin.py selon la description des kits de développement logiciel (SDK) de démarrage dans le centre d'aide Kinetise.

2.6 Faites un clic droit sur le projet kinetise et exécutez manage.py makemigrations comments et manage.py migrate. De plus, vérifiez comment Comment est implémenté dans sqlite3 avec la commande suivante au cas où. Cela peut aider à comprendre la sortie d'erreur si elle ne fonctionne pas correctement.

(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 Exécutez manage.py runserver --noreload depuis Eclipse. Si vous obtenez une erreur, passez en revue les étapes jusqu'à ce point. qiita post kinetise start.png

** 3. Confirmer l'opération avec POSTMAN ** 3.1. Utilisez POSTMAN pour vérifier le comportement GET et POST. Pour POST, spécifiez l'URL comme http: //127.0.0.1: 8000 / comments /, spécifiez raw et json dans BODY and Send, et si le statut est 200 OK, cela fonctionne normalement. .. qiita投稿POSTでPOSTMAN.png

Pour GET, spécifiez la même URL que POST et si le statut est 200 OK, il fonctionne normalement. qiita投稿GETでPOSTMAN.png (Supplément) Si cela ne fonctionne pas correctement, il n'y a pas d'autre choix que de revoir le travail jusqu'à présent, mais avec le navigateur http: //127.0.0.1: 8000 / admin / et `` http: //127.0 Il est également utile de visiter .0.1: 8000 / comments / ```et de vérifier la sortie de la console Eclipse.

Ceci est la fin de l'explication sur la modification du code de Python et la vérification des opérations avec POSTMAN. Ensuite, j'expliquerai Déployer Bluemix sur Python runtime.

Recommended Posts

Développement d'applications mobiles avec IBM Bluemix Kinetise (3)
Développement d'applications mobiles avec IBM Bluemix Kinetise (2)
Développement d'applications mobiles avec IBM Bluemix Kinetise (1)
Virtualiser (isoler) l'environnement de développement IBM i python avec chroot
Résumé du développement avec Django
Développement du microservice Bluemix Python