インターン
ブログ

TORICOインターン生のブログです。会社で起きたことについて情報発信していきます。

Viewing posts by

インターン28日目

こんにちは、宮副です。

【今日の学び】
・GET、POST
webのアプリケーションを使うときは、クライアント側から欲しい情報をrequestしてサーバー側がそのrequestに対するresponseを返すことで、アプリケーションを使えるようになっています。
そのrequestにGETとPOSTが含まれます。
GET
GET方式では、URLの末尾にパラメーターをくっつけて送る方式です。
例えば、以下のような「/?」の後にパラメーターをくっつけて送る方式です。
https://example.com/id=1&type=2
POST
POST方式では、HTTP Bobyに格納して送る方式です。
例えば、ログインなどの情報を入力して送る方式です。

GETは、ページを取得するためのrequest
POSTは、情報を送信するためのrequest

 

インターン27日目

こんにちは、宮副です。
なかなかコメント投稿の修正から抜け出せずにいます。

【今日の学び】
・エラー文「django.urls.exceptions.NoReverseMatch: Reverse for 'XXX' with no arguments not found. 1 pattern(s) tried」
上記のエラー文でかなりハマりました。
調べていたらurl.pyが怪しそうだったのですが、打ち間違いなどはなく困っていたところ、htmlの書き方に問題がありました。
urlに<str:slug>
といった<>を使ったurl設定をしている場合は引数を書いておく必要があることを忘れていました。
<例>
<a href='{% url "project_detail" project.slug %}'>

インターン26日目

こんにちは、宮副です。
前回に引き続き、コメント投稿の修正をしています。

【今日の学び】
get_context_dataメソッド
get_context_dataメソッドは、contextに変数のデータを入れることができます。
サンプルコード
class SampleView(ListView):
    template_name = 'list.html'
    model = SampleModel
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
print(context)
return context

TemplateView内にmodelを2つ使用したいときなどにも使えます。

インターン26日目

こんにちは、宮副です。
今日からアプリのUIUXの修正・追加をしていきます。

【今日の学び】
・Ajax
Ajax(Asynchronous JavaScript XML)とは、非同期通信ができる技術です。
ページをリロードしなくても一部分を更新できる機能です。
例えば、ECサイトやSNSで画面をスクロールすると新しい商品やコメントなどを次々に表示させている機能です。
これまでコメントをコメントページを作ってそこで作成したものを別のページに表示させていましたが、そのページでコメントできるようにするため調べていたらAjaxという技術が出てきたので調べてみました。

インターン25日目

こんにちは、宮副です。
今日でやっと全画面の作成が一通り終わりました。
調べていた中で勉強になったことを書いていこうと思います。

1、オーバーライド
これまでPythonを勉強していて、オーバーライドの必要性が理解できていませんでしたが、オーバーライドの必要性が少しですが分かりました。
Djangoですでに用意されているAccessMixinや
LoginRequiredMixinに変更や追加したい時にオーバーライドすると、便利です。
元のコード
def dispatch(self, request, *args, **kwargs):
if not request.user.is_authenticated:
return self.handle_no_permission()
return super().dispatch(request, *args, **kwargs)

変更後のコード
def dispatch(self, request, *args, **kwargs):
if not request.user.is_authenticated:
if not self.モデル名.filter(
users=self.request.user).exists():
return self.handle_no_permission()
return super().dispatch(request, *args, **kwargs)

インターン24日目

こんにちは、宮副です。
今日も前回に引き続きMixinの作成を進めました。
調べていた中で勉強になったことを書いていこうと思います。

1、新しいファイルに定義した内容を参照したい時はfrom foo import bar
mixinを作成している中で、新しくmixins.pyを作成してその中でclassを定義しました。
それをviews.pyで参照しようとした時に、
from .mixins import クラス名
とすればviews.pyの中で使うことができます。

2、親モデルから子モデルを逆引き
通常、子モデルから親モデルを使うときは
children.parent
で使えます。
しかし、親モデルから子モデルを使いたいときは、
parent.children_set
とすれば使うことができます。




インターン23日目

こんにちは、宮副です。
今日も前回と同じくMixinの作成でした。
LoginRequiredMixinというDjangoでは用意されていますが、それを使わずに自分でMixinを作ろうとしている途中です。

インターン22日目

こんにちは、宮副です。
課題のアプリ制作も終盤になってきました。
Mixinを自分で考えて書いたことがないので、難しくなかなか進みませんが着実に進めていきたいと思います。

インターン21日目

こんにちは、宮副です。
前回、コメント新規作成画面でコメント保存してタスク詳細画面にリダイレクトする部分で詰まっていましたが、urlの部分で指定しないといけない部分を記述していなかったのでそこを記述したらすんなり通りました。
悩みまくってたのがバカみたいな部分でしたが、今後もこういうことはたくさんあると思うので注意深く見ることを気を付けていこうと思います。

インターン20日目

こんにちは、宮副です。
今日はタスクに対するコメントの新規作成画面の作成をしました。
新規作成画面でコメント保存してタスク詳細画面にリダイレクトする部分で詰まってしまいました。
以前も同じようなロジックを作成したので、これでいけるかと思ったのですがうまくいかなかったので、悩み中です。。。

インターン19日目

こんにちは、宮副です。
今日から新しいページとそれに対するコメントの追加と表示の作成に入りました。
Djangoにも少しづつですが慣れてきて流れを理解できるようになってきました。
最近はPythonの大事さを痛感させられているのでPaizaのスキルチェックやAtcoderなどでアウトプットしながら勉強していこうと思います。

インターン18日目

こんにちは、宮副です。
前回まで引きずっていたエラーを、先輩エンジニアのかたに教えていただきなんとか解消することができました。
データを取ってきて、それをどうするかというロジックがまだ知識不足だと感じました。

インターン16、17日目

こんにちは、宮副です。
前回、ブログ記事の作成を忘れていたので前回と今回の内容を書きます。
といっても前回から今にかけて絶賛エラーに悩まされているところです。
エラーを解消する上で学びがたくさんあるので、解消されないとイライラはしますが発見もあります。
これからもどんどんエラーにぶち当たっていきます。

インターン15日目

こんにちは、インターン15日目の宮副です。
今日は、一覧画面表示がの作成が終わり詳細画面と新規作成画面の作成をしました。
新規作成画面になかなか遷移することができずにいましたが、urlpatternsとhtmlに書くnamespaceが入らなかったことが分かり解決できました。

インターン14日目

こんにちは、インターン14日目の宮副です。
ユーザーごとに表示を変える機能とBootstrapでの整形をしました。
今日の学びは、filterメソッドを使うときはobjects.filterにしないといけないことです。
モデルに使う場合は、モデル名.objects.filterといった感じです。

インターン13日目

こんにちは、インターン13日目の宮副です。
今日も前回に引き続き一覧ページの表示の作成をしました。
ログイン画面と一覧ページの表示の作成は終わりましたが、ユーザーごとに表示を変える機能の追加とBootstrapを使ってページの整形をこれからやっていきます。

インターン12日目

こんにちは、インターン12日目の宮副です。
少しづつではありますが課題のアプリケーションの開発が進んできました。
今日でadminページの開発が終わり、ユーザー画面の開発に入りました。
Djangoのチュートリアルでやったことはあったもののコードの流れがまだまだ頭に入っていないので一つづつ理解しながら進めています。
今日は、urls → views → model → htmlという流れでページが表示されることを学び、開発しました。
次はユーザーによって表示されるページを分けるところをやっていきます。

インターン11日目

こんにちは、インターン11日目の宮副です。
今日はデータ管理ができる管理ページの開発をしました。
django.contribのadminをインポートすることでいろんなメソッドが使えることがわかりました。
djangoのデフォルトにあるメソッドはたくさんありそうなので少しずつ勉強していこうと思います。

インターン10日目

こんにちは、インターン10日目の宮副です。
これまでなかなかできなかったmysqlへのマイグレーションがやっとできました。
長い間詰まっていた部分を解消させられたときの快感はクセになります。
次回から次のステップに移っていきます。

インターン9日目

こんにちは、インターン9日目の宮副です。
今日はデータベースの難しさを痛感させられました。
dockerからmysqlを起動させるところから始まり、やっとmysqlに入れたと思ったら次にsqliteからmysqlにデータを移行させるところで詰まってしまいました。
次回までにアプリ制作の続きに入れるようにしよと思います。