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.
** 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. ..
Pour GET, spécifiez la même URL que POST et si le statut est 200 OK, il fonctionne normalement.
(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