【ジャンゴ]インストールおよび構成--2019-08-17午前5時57分35秒

オリジナル:http://blog.gqylpy.com/gqy/259

「@
ダウンロードするDjangoの公式サイト
***

MTVフレームとMVCフレームワーク

MVC、フルネームモデル・ビュー・コントローラは、ソフトウェアエンジニアリングは、ソフトウェアアーキテクチャモデルです。
ソフトウェアシステムは、3つの基本的な部分に分かれています==モデル(モデル)、ビュー(ビュー)、コントローラ(コントローラ)==

利点:低結合、高い再利用性、および低ライフサイクルコスト
ここに画像を挿入説明
。Djangoフレームワークは、様々な部品間の結合を低減するために、MVCアーキテクチャは3つの分割された設計パターンの考え方を採用し
ていることDjangoフレームワークの中の異なります三つの部分に分割される:==モデル(モデル)、テンプレート(鋳型)、ビュー(ビュー)==、MTV == ==フレームである。

***

DjangoのMTVモード

  • モデル(モデル):ビジネス・オブジェクトとデータベースオブジェクト(ORM)を担当。
  • テンプレート(テンプレート):ユーザーにどのようにページを担当します。
  • ビュー(Viewは):ビジネスロジックを担当し、かつ適切な時期にモデルとテンプレートを呼び出します。

また、Djangoのディスパッチャ== == URLがありますが、それはモデルとテンプレートの適切なビューを呼び出して別の治療に配布ページビューリクエストのURLの役割である、と。
***

Djangoフレームワークを示します

ここに画像を挿入説明


***

インストールと設定

在命令行执行如下命令:
pip3 install django==1.11.11

创建一个Django项目

执行如下命令创建一个名为"mysite"的Django项目:
django-admin startproject mysite
***

目录介绍

ここに画像を挿入説明
***

运行Django项目

命令行执行:
python manage.py runserver 127.0.0.1:8080
***

启动Django报错

==UnicodeEncodeError...==
出现这种错误通常是因为计算机名为中文,将其改为中文并重启电脑便可以了.

==SyntaxError: Generator expression must be parenthesized==
保这个错误很大可能是因为使用了Python3.7.0.
目前(2018-06-12)Python3.7.0和Django还有点兼容性问题,换回Python3.6环境即可.
***

模版文件配置

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]   # template文件夹位置
        ,
        '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',
            ],
        },
    },
]

静态文件配置

STATIC_URL = '/static/'  # HTML中使用的静态文件夹前缀
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),  # 静态文件存放位置
]

关系如图:
ここに画像を挿入説明

刚开始学习时可在配置文件中注释掉csrf中间件,方便表单提交测试:

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',  # csrf中间件
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]


APP的创建

一个Django项目可以分为很多个APP,用来隔离不同功能模块的代码.

方式一:命令行创建:

python manage.py startapp app名称

注意当前所在路径,必须在项目的根目录下.

方式二:使用PyCharm创建:
ここに画像を挿入説明
点击:Tools --> Run manage.py Task...
然后在下方弹出的命令窗口中输入:==startapp app名称==

後に作成され、また、あなたは、settings.pyファイルに対応したAPPを追加する必要があります。
次のように:

# 本项目中的所有APP
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog.apps.BlogConfig',   # 添加自己新建的app(可简写为'blog')
]

スーパーユーザを作成します

注:データを移行した後、彼らは成功したスーパーユーザを作成することができなければならない前に。

python manage.py createsuperuser

上記のコマンドを入力した後、ユーザー名、電子メール、パスワードを入力し、パスワードを確認するために、指示に従います。パスワードは少なくとも8を必要とせず、メールボックスは二回、パスワードに近すぎることはできません一貫している必要があります。

Djange不可欠な基盤三銃士

from django.shortcuts import HttpResponse, render, redirect

HttpResponse

== ==指定した文字列を返し
、その文字列がブラウザに渡さ:内部の文字列パラメータを渡し、それが(応答ステータス行を返すなど)を右仕事をするために私たちを助けます。

次のように:

def index(request):
    # 业务逻辑代码
    return HttpResponse('OK')

与えます

== == HTMLドキュメントを返す
要求パラメータを受信することに加えて、だけでなく、レンダリングされるテンプレートファイルと、特定のデータ辞書記憶されたパラメータを受信する。
データは、最終結果がブラウザに返さ、テンプレートファイルに充填されます。

次のように:

def index(request):
    # 业务逻辑代码
    return render(request, 'index.html', {'name': 'zyk', 'sex': 'boy'})

リダイレクト

== ==特定のページにジャンプする
、すなわちリダイレクト、URLのパラメータは、特定のURLへのジャンプを表し..

次のように:

def index(request):
    # 业务逻辑代码
    return redirect('/home/')

何リダイレクト?

ここに画像を挿入説明
ここに画像を挿入説明


"

オリジナル:http://blog.gqylpy.com/gqy/259

おすすめ

転載: www.cnblogs.com/bbb001/p/11367264.html