1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Django】urls.py, views.pyファイルを理解したい

Last updated at Posted at 2021-06-28

#今回のゴール
Djangoフレームワークで、Hello,worldをブラウザに表示

###■ プロジェクトフォルダ(first)を編集していきます

<settins.py>変更前
	INSTALLED_APPS = [
	'django.contrib.admin',
	'django.contrib.auth',
	'django.contrib.contenttypes',
	'django.contrib.sessions',
	'django.contrib.messages',
	'django.contrib.staticfiles',
	]

に、自分のアプリケーションを登録します

<first/settins.py>変更後
INSTALLED_APPS = [
'myapp.apps.Myappconfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

●ちなみに、'myapp.apps.Myappconfig', のmyappはパッケージ(フォルダ).(アプリケーション名)で、appsはモジュール(ファイル)で、Myappconfigは、そのモジュールの中にある関数です

<first/urls.py>変更前
from django.contrib import admin
from django.urls import path

<first/urls.py>変更後
from django.contrib import admin
from django.urls import path, include

また、プロジェクト側でpath関数の追加

<first/urls.py>変更前
urlpatterns = [
path('admin/', admin.site.urls),
]

<first/urls.py>変更後
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/',include('myapp.urls')),
]

・path('myapp/',
path関数の最初の引数(myapp)はパスを表す文字列を書きます。今回であれば、127.0.0.1:8000/myappの『myapp』部分が第一引数

・include('アプリケーション名,urls')
⇨この関数は、アプリケーション内のurls.pyファイルを参照するよ。 なやつ

・include('myapp.urls')),
第二引数には、”include関数”使います。include関数の()の中身には、アプリケーション名(myapp.urls)と書く。

・urls
urls.pyのurlパターンリストの中に、url(path)に対応した処理を定義していく

・一般的によく行われるのは、プロジェクトのurls.pyのファイル
このように、プロジェクトのurls.pyにはincludeを用いて定義していくと考えていきます

###■それではアプリケーション(myapp)側にも”urls.py”を作成していきます
まず、アプリケーションフォルダ内に”urls.py”ファイルを作成します

<myapp/urls.py>
from django.urls import path
from .import views
app_name = 'myapp'
urlpatterns = {
path('', views.index, name='index'),
}

・myapp/urls.pyの処理はfirst/urls.pyの処理の後に実行されます

・アプリケーション側のurls.py(のpath)は、プロジェクトフォルダ(first)のurls.pyファイルに記載されている

path('myapp/',include('myapp.urls')),
を参照している

views.index
・指定した関数です

name='index'
・indexという名前をつけています

そしてブラウザに表示させるためには最後にviewsを設定します

<myapp/views.py>
def index(request):
return HttpResponse("Hello,world")

index(request)
・urls.pyにも記載したindexという関数を定義します
・引数はrequest ※これは固定です

HttpResponse
・urls.pyで呼び出すように指定した関数はというHttpResponseオブジェクトを返します
・HttpResponseの引数はHello,worldです

####ターミナルにて下記実行

python3.8 manage.py runserver

Hello,worldと表示されれば成功

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?