Sakura L'histoire du fonctionnement de la bouteille Python sur Internet

Rappelez-vous simplement, à propos de l'année dernière, je pense avoir parlé de la façon dont Python fonctionnait avec CGI sur le serveur de location de Sakura, mais la bouteille ne fonctionnait pas du tout. En conclusion, cela a fonctionné.

Comment vous avez trouvé le problème

Téléchargez le projet de bouteille complet sur le serveur de location Sakura. Changez la partie contrôleur en .cgi et laissez l'autorisation 755. Bottle.py est placé tel quel.

Si vous y accédez tel quel

Status: 500 Internal Server Error Content-Type: text/plain Content-Length: 59 A server error occurred. Please contact the administrator.

Il est dit que. C'est la cause de la plus trébuchante. Si vous suivez le journal,

-Fichier "/usr/local/lib/python2.7/wsgiref/handlers.py", ligne 86, en cours d'exécution -Fichier "/usr/local/lib/python2.7/wsgiref/handlers.py", ligne 128, dans finish_response -Fichier "/usr/local/lib/python2.7/wsgiref/handlers.py", ligne 217, en écriture

Cela bouge clairement comme ça. Où est le problème de l'erreur ... Je l'ai trouvé quand je le cherchais.

”UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 358: ordinal not in range(128)”

Quelle erreur unicode. Erreur Unicode où elle n'apparaît ni dans l'environnement local ni dans l'environnement Heroku.

Où était le problème

Lorsque j'ai essayé d'effacer le japonais dans index.tpl, cela s'est avéré fonctionner en toute sécurité. Quelle est cette punch line ...

Bien qu'un problème de routage courant puisse être facilement résolu avec .htaccess, cette erreur Unicode est difficile à trouver. J'ai l'impression qu'il existe une autre bonne solution pour cela, alors je vais essayer.

Le japonais lu par {{default_tag}} est également une erreur. Je suis frustre.

Recommended Posts

Sakura L'histoire du fonctionnement de la bouteille Python sur Internet
Sakura utilisant Python sur Internet
L'histoire de Python et l'histoire de NaN
Comment mettre à jour la version Python de Cloud Shell dans GCP
L'histoire de la manipulation des variables globales Python
Sakura Utiliser le module externe Python sur Internet
L'histoire du traitement A du blackjack (python)
[Python] Lire le code source de Bottle Part 2
L'histoire selon laquelle le coût d'apprentissage de Python est faible
Pourquoi l'implémentation Python d'ISUCON 5 a utilisé Bottle
[Python] Lire le code source de Bottle Part 1
Traitement d'image? L'histoire du démarrage de Python pour
L'histoire de la lecture des données HSPICE en Python
Au moment de la mise à jour de python avec ubuntu
Comment la référence du tableau python change en fonction de la présence ou de l'absence d'indices
En Python, changez le comportement de la méthode en fonction de la façon dont elle est appelée
le zen de Python
L'histoire de sys.path.append ()
Réfléchissez à la programmation de Python sur votre iPad
L'histoire de Python sans opérateurs d'incrémentation et de décrémentation.
L'histoire de FileNotFound en Python open () mode = 'w'
[Python] Résumé de la façon de spécifier la couleur de la figure
Comment profiter de Python sur Android !! Programmation en déplacement !!
L'histoire de la conversion automatique du langage de TypeScript / JavaScript / Python
Combien connaissez-vous les bases de Python?
[Note] L'histoire de la configuration du SDK pour Python d'Azure IoT Hub sur Linux
Notes sur la version de CUDA, cuDNN où tensorflow-gpu fonctionnait
Mettez la dernière version de Python dans Linux (Debian) du Chromebook
L'histoire de la construction de Zabbix 4.4
Vers la retraite de Python2
L'histoire de la mise en œuvre du sujet Facebook Messenger Bot avec python
python3: Comment utiliser la bouteille (2)
[Hyperledger Iroha] Remarques sur l'utilisation du SDK Python
L'histoire de l'introduction de Jedi (package de complétion automatique de python) dans emacs
Comment déployer Pybot, le manuel Python le plus simple, sur Heroku
Manipulation de python sur mac
L'histoire du rubyiste aux prises avec Python :: Dict data with pycall
Comment connaître le nombre de GPU de python ~ Remarques sur l'utilisation du multitraitement avec pytorch ~
[Python] Tensorflow 2.0 ne supportait pas Python 3.8, donc l'histoire de la rétrogradation de Python
À propos des fonctionnalités de Python
python3: Comment utiliser la bouteille (3)
python3: Comment utiliser la bouteille
Le pouvoir des pandas: Python
L'histoire de la sortie d'un outil de vérification de texte créé par Python sur GitHub x CircleCI pour la première fois
Comment configurer cron pour le scraping Python normal sur le serveur Sakura.
Comment est le progrès? Continuons le boom ?? en Python
L'histoire selon laquelle la version de python 3.7.7 n'était pas adaptée à Heroku
Comment déterminer l'existence d'un élément sélénium en Python
Comment modifier le niveau de journalisation d'Azure SDK pour Python
Comment connaître la structure interne d'un objet en Python
Le 14 mars est le jour du rapport de circonférence. L'histoire du calcul du ratio de circonférence avec python
[Python] J'ai écrit la route du typhon sur la carte en utilisant le folium
Mesurez la couverture de test du code python poussé sur GitHub.
Comment vérifier la taille de la mémoire d'une variable en Python
[Python] Comment obtenir le premier et le dernier jour du mois
L'histoire de la création d'un pilote standard pour db avec python.