Pythonのフレームワークジャンゴを使用して、独自のウェブサイトを作成する方法
Djangoの駅は、4つのステップに分けられます。1. Djangoプロジェクト、2、Djangoプロジェクト、3、データ交換、4、データベースに移植されたWebページテンプレートを作成します。
1 Djangoプロジェクトを作成します。
私は、PyCharmエディタを使用して、オープンPyCharm、赤いボックスの位置下の左側をクリックし、ターミナルを選択して、ターミナルウィンドウでいます
django-admin.py startprojectのmyprojectに
次に入力します
python manage.py startappのmyappの
MyProjectと、すべて自分の定義MyAppプロジェクト名とAPPの名の上
この時点で、Djangoのプロジェクトが設定されています。
Djangoプロジェクトに移植2ウェブテンプレート
1、新しいmyappという2つのフォルダ内のファイル、静的、およびテンプレート、CSSのページテンプレートを配置する静的フォルダ、JSおよびその他のフォルダは、唯一の.htmlファイルを置くフォルダをテンプレート
Djangoプロジェクトに移植されたテンプレートは、テンプレートファイル形式でいくつかの変更を加える必要があるので2は、4つのDjangoのプロジェクトファイルは、変更されます。
setting.py
あなた自身のAPPは、内部の追加テンプレートフォルダのパスを追加します
'DIRS':[os.path.join(BASE_DIR、 'テンプレート')]、
url.py
次の文を追加しました
django.urlsインポートパスから
django.confインポート設定から
django.conf.urls.staticインポート静的から
myappのインポートビューから
次に、ページのパスを追加
パス( 'ログイン'、views.login)、
views.py
Xx.html同じプレフィックス名は、応答関数を定義し、関数名は、Webページである必要があります
デフ指数(要求):
リターンは(要求、 'index.htmlを' をレンダリングし、
xx.html
次ジャンゴによって引き継がれ、次のテンプレートを示すために、次のステートメントを追加します
{%負荷静的%}
形式ジャンゴ内の文のいくつかの例を次に示します
{DATA1の%におけるラインの%}
{%line.user場合== data2.userの%}
{%line.psw == data2.psw場合%}
{%ENDIF%}
{%ENDIF%}
{%ENDFOR%}
forループ文経路に見ることができるようにする場合、{%}%を決定するために使用されます。
3データ交換
views.py
まず、データを記憶するようuser_list []としてリストの定義、
データPOSTの方法なので、ステートメントを追加しますが、応答関数を決定します
デフログイン(リクエスト):
request.method == "POST" の場合:
ユーザ名= request.POST.getは、(「ユーザ名」、なし)//ユーザーを保存する変数にデータを入力します
パスワード= request.POST.get( "パスワード"、なし)
user_list = { "ユーザー":ユーザー名、 "PSW":パスワード}
リターンレンダリング(リクエスト、 'login.htmlと'、{ "DATA1":user_list})//バックページにデータを送信します
xx.html http://mobile.wxbhnkyy39.com/無錫婦人科病院
データがページに返された後、ループのために読んで
{DATA1の%におけるラインの%}
line.user = data1.user
line.psw = data1.psw
{%ENDFOR%}
操作4データベース
我々は3つの文書を変更する必要があります
setting.py
Djangoは独自の組み込みのデータベースを持っています
データベース= {
'デフォルト': {
'ENGINE': 'django.db.backends.sqlite3'
'NAME':os.path.join(BASE_DIR、 'db.sqlite3')、#Django独自のデータベース
}
}
models.py
モデルを作成します。
クラスのUserInfo(models.Model):
ユーザー= models.CharField(MAX_LENGTH = 32)
PSW = models.CharField(= 32 MAX_LENGTH)
限り移動models.pyとして、あなたは、ターミナルで次の2つのステートメントを入力する必要があります
python manage.pyのmakemigrations
python manage.pyの移行
views.py
次の文を追加しました
myappの輸入モデルから
データがデータベースに書き込まれます
(PSWユーザ= "zhoupeng" = "123456")models.UserInfo.objects.create
データベースのデータを読みます
user_list = models.UserInfo.objects.all()
これは、Webページのデータベース操作で直接読み取ることができます
ファイルadmin.pyに次のステートメントを追加します。
myapp.modelsからのUserInfoをインポート
admin.site.register(のUserInfo)
その後、スーパーユーザを作成します
入力端子In
python manage.pyのcreatesuperuser
これは、httpことができます:データベース/ /管理者の操作します
この時点で、完全なDjangoプロジェクトは完了です。
プロセスは、モーダルレビュー
1、すべてのバグは最初、彼はスペルの間違いではありませんどこを見てデバッグプロセス
2、時には長い時間、間違った何のためにデバッグが、ページが更新され出てくるが、時間をかけて、それは自動的に良かった、と問題のポートがある可能性があり、別のポートを試していません
3、ログインページにジャンプするために提出クリックしている、方法が見つかりません間違ったページ、ポストのためのデータがあるだろう、何もデータが取得することはありません
図4に示すように、差分url.pyパス( ''、views.login)およびパス( 'インデックス'、views.index)、前者がURLはhttp:/ ... /後者のhttp:/ ... /インデックス
図5に示すように、エラーは、「割り当ての前に参照ローカル変数XXX」であり、ローカルおよびグローバル変数の問題であり、機能がグローバルXXXに応答して、または直接関数で定義された変数に加え