從Django專案的創建到HTML文件的載入

纵观全文

参照: 在Django中创建项目并调用HTML的参考

    • メモ程度のクオリティ

 

    • env等の仮想環境は使用していないので他に参照しているサイトが有れば違うかも

 

    Djangoはインストールされている前提です

环境

    • Windows 10

 

    • python 3.7

 

    Django 2.2

创建项目

首先需要创建一个项目才能开始。暂时最快的方法是使用命令提示符。

前往项目创建地点。

cd ***/***/*****
django-admin startproject mySite
cd mySite
python manage.py startapp myapp

通过上述命令执行创建的文件结构

myapp/
    migrations/
    __init__.py
    admin.py
  apps.py
    models.py
    tests.py
    views.py
mysite/
    __pycache__/
    __init__.py
    settings.py
    urls.py
    wsgi.py
manage.py

执行后,在mysite/中会增加一个用于数据库的”db.sqlite3″,但不需要担心,没问题。

python manage.py runserver
image.png

其实,“python manage.py startapp myapp” 可以不用。

HTML的引用

在与manage.py相同的层级目录下创建一个名为htmlPaga的文件夹并保存一个准备好的合适的HTML文件,假设为index.html。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="utf-8">
    <title>index</title>
</head> 
<body>
    <h1>Sample</h1>
</body>

项目的编辑部分有3个
/mysite/settings.py
/mysite/urls.py
/mysite/views.py ←新建

配置文件.py

将os.path.join(BASE_DIR, ‘htmlPaga’)追加到TEMPLATES[‘DIRS’]中。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'htmlPaga')], #←追記
        'APP_DIRS': True,
        'OPTIONS': {
                'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

urls.py可以被用来对URL进行配置。

如果按照顺序依次进行,因为还没有创建views.py,所以会出错,请在urlpatterns中进行补充。

为了在此处执行与请求的URL相关的函数,我们需要编写以下内容:
第一个参数为空字符串。
第二个参数是执行函数。

from django.contrib import admin
from django.urls import path
from . import views #←追記

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index_template) #←追記
]

点击.py

在/mySite/下创建一个新的”views.py”文件,只需包含最基本的内容。

from django.shortcuts import render
from django.http.response import HttpResponse

def index_template(request):
    return render(request, 'index.html')
python manage.py runserver
image.png
广告
将在 10 秒后关闭
bannerAds