スナックelve 本店

バツイチ派遣40代女性の日記です

もう何やってるかわからなくなったんスよね・・・

f:id:elve:20210722191503p:plain
snack.elve.club
snack.elve.club
続けます。

とにかくまぁ、ユーザーフォームが必要そうじゃん? って調べたらDjangoとかいうのにたどり着く。
(ノ*・ω・)ノ ワケヽ(・ω・*ヽ)ワカ ヽ(*・ω・)ノラン♪

結果



手順

ここから順番に作業です・・・その3で挫折したwwwww
はじめての Django アプリ作成、その 1 | Django ドキュメント | Django

モデル

from django.db import models

# Create your models here.
class USERS(models.Model):
    id = models.CharField(primary_key=True,max_length=40)
    _created_at = models.DateTimeField(null=True)
    _updated_at = models.DateTimeField(null=True)
    _user_id = models.CharField(max_length=40)
    description = models.CharField(max_length=300)
    name = models.CharField(max_length=30)


class TWEETS(models.Model):
    id = models.CharField(primary_key=True,max_length=40)
    _created_at = models.DateTimeField(null=True)
    _updated_at = models.DateTimeField(null=True)
    _user_id= models.CharField(max_length=40)
    in_reply_to_text_id= models.CharField(max_length=40)
    in_reply_to_user_id= models.CharField(max_length=40)
    text= models.CharField(max_length=200)

ビュー

from django.shortcuts import render
import requests
from polls.models import USERS


def index(request):
    url = "https://versatileapi.herokuapp.com/api/user/all"
    users = requests.get(url).json()
    USERS.objects.all().delete()
    for user in users:
        USERS.objects.create(
            id = user['id'],
            _created_at = user['_created_at'],
            _updated_at = user['_updated_at'],
            _user_id = user['_user_id'],
            description = user['description'],
            name = user['name'])
    output = {'test': USERS.objects.all()}
    return render(request, 'polls/index.html',output)

テンプレート

<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta charset="UTF-8">
  <title>index.html</title>
  <style>
  body {
    background-color: #B2EBF2;
    font-family: sans-serif;
  }
  </style>
</head>
<body>
  <h1>test</h1>
<table>
  {% for user in test %}
  <tr>
    <td colspan="2">Id: {{user.id}}</td>
  </tr><tr>
    <td>Name: {{user.name}}</td><td>Description: {{user.description}}</td>
  </tr>
  {% endfor %}
</table>
</body>
</html>

事務派遣が作る某SNSクライアント(案)

f:id:elve:20210722132411p:plain
snack.elve.club
続けます。

こんな感じの画面を作りてぇなァというのを書いてみました。
f:id:elve:20210722125551p:plain
投稿情報にはユーザーIDしか入っていないので、ユーザーリストも別途必要そうだなぁ。
起動時に
https://versatileapi.herokuapp.com/api/user/all
からjsonで取得してファイルに保存、かなぁ?
んで、本文作るときにユーザーIDから名前とってくる感じ?
保存せんでその取得したやつで処理すれば良いのか。

ユーザー登録(しなくてもOK)

https://qiita.com/HawkClaws/items/599d7666f55e79ef7f56

らしいから、取得に失敗したら名無しさんの投稿でOKってことかな?

タイムスタンプはISO 8601
日時のフォーマット(ISO 8601) - Qiita

{
"id": "一意の値",
"_created_at": "yyyy-mm-dd[(T| )HH:MM:SS[.fff]][(+|-)NNNN]",
"_updated_at": "yyyy-mm-dd[(T| )HH:MM:SS[.fff]][(+|-)NNNN]",
"_user_id": "ユーザーID",
"text": "投稿文"
},

の繰り返し。コレ全部とるの大変そうだなぁ・・・。どうすっかなぁ。読み込み(更新)ボタンとかあったほうが良いのか?
とりあえず全部表示するHTMLを吐き出すか。
そうすっと取得投稿数分ループして書き出す感じよね? テーブルタグでいいかなぁ・・・。

で、なんか、名前クリックしたらポップアップで自己紹介文出そうと思ったんだけど・・・難しくね?
JavaScript苦手やし・・・)
【超シンプル】ポップアップをHTMLとCSSだけで実装する | 東京のWeb制作会社 | 株式会社リラクス
・・・
・・

(;´Д`)

最初読み込んでユーザー一覧のHTML吐いて、そっちにリンクするほうが楽かなぁ(;´Д`)
・・・重そうだ・・・

エンジニア・プログラマにしか使えないSNSとやらを一介の事務派遣が覗いてみようじゃぁないか!

f:id:elve:20210722110018p:plain
まずは読んでみよう
qiita.com
うむ、わからん!!

みんな、VisualStudioCodeとPython3はインストールしたね?!
Visual Studio Code でPython入門 【Windows編】: Visual Studio Code でPython入門 【Windows編】 - python.jp
この辺参考にやってみよう!(自分がどう環境構築したかは忘れた)

さて、最初の記事で唯一わかりそうなのはエンドポイントってURLやな。
https://versatileapi.herokuapp.com/api
このままアクセスしても、500 Internal Server Errorですな!! なんのことやらさっぱりです。

わからんときはググる!!
qiita.com

うむ! わからん!!
でもたぶんGETって最初のページに書いてあったよねーというわけで

  • ODataクエリによる検索(最新20件取得)

ってのをやってみる

  • 駄目な例
import requests

url = "https://versatileapi.herokuapp.com/api"

r = requests.get(url, params="/text/all?$orderby=_created_at desc&$limit=20")

print(r.json())

??? パラメーターの使い方がわからんね。でもコレってURLっぽいから・・・

import requests

url = "https://versatileapi.herokuapp.com/api"

r = requests.get(url + "/text/all?$orderby=_created_at desc&$limit=20")

print(r.json())

取れたけどコレってhttps://versatileapi.herokuapp.com/api/text/all?$orderby=_created_at desc&$limit=20ってことよね? パラメータとは一体・・・。
(゜-゜)・・・

import requests

url = "https://versatileapi.herokuapp.com/api/text/all"

r = requests.get(url ,params={"$orderby":"_created_at desc","$limit":"20"})

print(r.json())

こういうことか!!! あたり!!!

jsonとか言うのをいい感じに表示するのは・・・
google:json python 表示
今回は
Python Tips: JSON を整形して表示したい - Life with Python
からコピッペして
でたな文字コード!!
参考:Pythonでjson dumpsを使いこなそう!(encoding、foramt、datetime) | 侍エンジニアブログ

import requests
import json

url = "https://versatileapi.herokuapp.com/api/text/all"

r = requests.get(url ,params={"$orderby":"_created_at desc","$limit":"3"})

print(json.dumps(r.json(), indent=2, ensure_ascii=False))

こんな感じで取れる。絵文字はともかく\nはこのままで良いのかな? よくわからんなぁ

{
"id": "31a70ac2-4cfc-425b-a47c-5728d0fde670",
"_created_at": "2021-07-21T19:38:46.490+00:00",
"_updated_at": "2021-07-21T19:38:46.490+00:00",
"_user_id": "2f38f9b8f278f43fc53d143f31ff805e9dbbd469",
"text": "🌞🥵\n🌞🤯 🌞💨\n🌞🤢🌞\n🌝💩🌝"
},

表示をどうにかしたいのでまた今度

夏の夜・・・自己紹介する、2021

f:id:elve:20210720205938p:plain
春だし、自己紹介でもするか、春だし(2018) - スナックelve 本店
前回の自己紹介からまた時間がたってしまった。全部コロナのせいにしよう。

ちょい更新
あばうとー - スナックelve 本店

<現在・過去・未来>

https://blog.empathywriting.com/writing/self-introduction-template.html

で書くと良いらしいので書いてみますか。

現在

3着くらいをぐるぐるローテーションしている。たまにお洒落したくなるのだが、センスが死んでいるのと、そもそも金が無いので、1000円以下/1点のアイテムになりがち。

今年の夏はコレ3色ぐるぐる。やすいし体型隠せるしいい感じ。

美味しいもの食べるとそれなりに幸せだけど、基本興味ないことに最近気づいた。ずーっと一緒は嫌だけど、普段は菓子パンやらプロテインやらで週末ちょっと美味しいもの食べる感じでいいかな、と。

今は千葉に住んでいる。職場東京の西側だ。都営新宿線を端から端まで乗って、そのまま京王線乗り入れて通っている。片道1時間以上かかる。座席の端に座ろうと思うと1時間30分かかる。5時に起きて6時半ころ家を出ている。会社には8時ちょい過ぎにつく。なんでこんなことに・・・は過去を参照。同居人がクズで困っている。

仕事

事務派遣。証券会社で働いている。金のことはさっぱりわからぬ。みんなより、ちょっとだけエクセルができるんじゃよポジション。
毎朝、最初の仕事は水くみ。言われたことは何でもやってるけど、辞めるときに派遣の人に引き継ぐのは嫌だなぁと思っている。

過去

ゴスロリとか着てたことがある。すっぴんで(死)
メタモルフォーゼが好きだった。

付き合ってる人の影響で、開店前から30分以上並んでラーメン等を食べることがあった。楽しかったがもう良いな、という感じ。
f:id:elve:20210720203945j:plain

東京の西側に生息していた。FC東京を応援していた*1関係で飛田給へのアクセスが一番重要だったのだw
同居人がクズで困っていた。*2
その前は練馬区でその前が神奈川県で、その前が北海道かな・・・まぁ点々としがち。あ、北海道出身。(時系列めちゃくちゃwwwww)

仕事

パケット交換機のファームウエアを書いていたはずだが、いつの間にか・・・。
失敗して派遣で事務やってるルートも知りたいかい? - スナックelve 本店

恋愛

現同居人とラブラブだった頃なんかも
カズ カテゴリーの記事一覧 - スナックelve 本店
マッチングアプリで知り合ってその日にホテル行って嘔吐してセックスして5ヶ月位で同居して4ヶ月位で破局した。

未来

結局そんなに興味持てない予感がするので、不潔じゃない程度を維持したい。

たまに美味しいもの食べたい

早く東京に帰りたい(´;ω;`)

うーん・・・自己紹介になる?
このブログ自体が長い長い自己紹介(自分語り)なので、お暇なときにどうぞw 結構意味不明で面白いと思いますよ!!

*1:今も年間チケットホルダー。ただし2年連続無観戦。チケット返金。コロナめ・・・

*2:その後もっとクズと同居することとなり、現在に至る。