利用 Django 创建网站

因为我过去多次做了又重新做,每次都要到处查找信息,所以考虑留下备忘录。

顺便提一句,内容基本上就是按照这个链接中的描述来实现的。(我想做一个超简单和最小化的页面,这个链接对我非常有帮助……)

环境设置

我正在使用pyenv和virtualenv创建一个名为rate-site的虚拟环境,从3.6.1版本开始。除了我以外的人可以忽略这一步骤,没关系。

mkdir rate_site
cd rate_site
pyenv virtualenv 3.6.1 rate-site
pyenv local rate-site

创建以下的 requirements.txt 文件。

dj-database-url==0.5.0
dj-static==0.0.6
Django==2.2.6
django-heroku==0.3.1
gunicorn==20.0.0
mysqlclient==1.4.4
psycopg2==2.8.4
PyMySQL==0.9.3
python-dateutil==2.8.1
pytz==2019.3
six==1.13.0
sqlparse==0.3.0
static3==0.7.0
whitenoise==4.1.4

然后。

pip install -r requirements.txt

安装所需的东西。

将创建requirements.txt文件的目录(rate_site)成为git管理的最顶层目录。

项目和应用程序的创建

mkdir rate_site # 今いるrate_site内でもう一個作る
cd rate_site
django-admin startproject rate_site .
python manage.py startapp rate_hp

编辑配置文件

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rate_hp', #追加
]
(省略)
LANGUAGE_CODE = 'ja' #変更
TIME_ZONE = 'Asia/Tokyo' #変更
(省略)
USE_TZ =  False #変更

迁徙

python manage.py migrate

创建管理员用户

python manage.py createsuperuser

确认启动

python manage.py runserver

这里是 http://127.0.0.1:8000/

当访问时,Django会显示默认页面。

为了能够访问rate_hp

from django.urls import path, include #追加

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('rate_hp.urls')), #追加
]

创建HTML文件

在存放rate_site和rate_hp的目录下,创建一个名为templates的文件夹。

<html>
    <head>
        <title>ホームページ</title>
    </head>
    <body>
        <p>ここがbase.htmlです。</p>

    {% block main_containts %}
    {% endblock %}

        <p>ここがbase.htmlです。</p>
    </body>
</html>
{% extends "base.html" %}
{% block main_containts %}
{% load static %}

  <main>
    ここがindex.htmlです。
  </main>

{% endblock %}

编辑rate_hp文件中的内容。

from django.shortcuts import render
from django.http import HttpResponse
from django.template import Context, loader

def index(request):
    template = loader.get_template('index.html')
    context = {}
    return HttpResponse(template.render(context, request))

由于urls.py文件不存在,所以需要新建一个。

from django.urls import path
from . import views

app_name = 'rate_hp' #django2.0から必要になったnamespace定義
urlpatterns = [
    path('', views.index, name='index'),
]

让 Django 读取之前已经创建的模板。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['templates'],  # 追加
        'APP_DIRS': True,

在这里再一次,
python manage.py runserver

执行以下操作,并访问http://127.0.0.1:8000/。

一旦完成

暂且来说,未来我们计划不断地添加新的应用程序到这个主页上,并且使其可以被访问。

bannerAds