この記事では、Django のチュートリアルで Django のユーザー登録とログイン方法に関する関連情報を主に紹介します。必要な友達は参考にしてください。パフォーマンスとエレガントなウェブサイト!
Djangoを学ぶのはとても難しいです。最近、最も簡単なユーザーログインと登録インターフェイスを作成するのが非常に簡単です。機能は非常に簡単ですが、学習したら追加します。将来的にはさらに追加されます:
まずプロジェクトを作成し、プロジェクトが配置されているディレクトリに移動します: django-admin startproject demo0414_userauth
プロジェクトを入力します: cd demo0414_userauth
対応するアプリを作成します: django-admin startapp アカウント
プロジェクト全体の構成図は図の通りです
§── アカウント
│ ├── admin.pyc
│ ├── apps.py
│ っていつ── ─ init.py
│ §─ init.pyc
│ ├─ マイグレーション
│ │ §─ 0001_initial.py
│ │ ├─ 0001_initial.pyc
│ │ ├─ init.py
│ │ └─ ─ init.pyc
│ §─ models.py
│ §─ models .pyc
│ ├─ testing.py
│ ├─ urls.py
│ §─ urls.pyc
│ っていつ─ ビュー.py
│ └── views.pyc
χ──demo0414_userauth
│ § ── init.py
│ §── init.pyc
│ っていつ── settings.py
│ っていつ── settings.pyc
│ § ── urls.py
│ §── urls.pyc
│ っていってください。 wsgi.py
│ └── wsgi.pyc
tils── manage.py
└── テンプレート
っていつ── register.html
── success.html
└── userlogin.html
4 ディレクトリ、29 ファイル
次に、設定ファイルのinstalled_appにアプリアカウントを追加します。
テンプレートフォルダーを作成します。プロジェクトのルート ディレクトリまたはアプリ ディレクトリ内。通常は、アプリ ディレクトリに配置することをお勧めします。プロジェクトのルートディレクトリに置く場合は、設定ファイル[os.path.join(BASE_DIR,'templates')]のTEMPLATESに'DIRS'を設定しないとテンプレートが使用できません。
また、このプロジェクトにはページジャンプの問題があるため、CSRF 攻撃を安全に防ぐために、関連する設定がテンプレートに含まれています。これの使い方がまだわかりません。フォームにタグ {% csrf_token %} を追加すると実現できると言われていますが、成功していません。したがって、最初にこの問題を無視し、
を参照してミドルウェア 'django.middleware.csrf.CsrfViewMiddleware' をコメント アウトし、モデル内に対応するデータベースを作成します:
class User(models.Model): username = models.CharField(max_length=50) password = models.CharField(max_length=50) email = models.EmailField()
view 適切なプログラムを追加します。 Pdb はブレークポイントのデバッグに使用されました。とても気に入りました。興味がない場合は直接コメントしてください。
#coding=utf-8 from django.shortcuts import render,render_to_response from django import forms from django.http import HttpResponse,HttpResponseRedirect from django.template import RequestContext from django.contrib import auth from models import User import pdb def login(request): if request.method == "POST": uf = UserFormLogin(request.POST) if uf.is_valid(): #获取表单信息 username = uf.cleaned_data['username'] password = uf.cleaned_data['password'] userResult = User.objects.filter(username=username,password=password) #pdb.set_trace() if (len(userResult)>0): return render_to_response('success.html',{'operation':"登录"}) else: return HttpResponse("该用户不存在") else: uf = UserFormLogin() return render_to_response("userlogin.html",{'uf':uf}) def register(request): curtime=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()); if request.method == "POST": uf = UserForm(request.POST) if uf.is_valid(): #获取表单信息 username = uf.cleaned_data['username'] #pdb.set_trace() #try: filterResult = User.objects.filter(username = username) if len(filterResult)>0: return render_to_response('register.html',{"errors":"用户名已存在"}) else: password1 = uf.cleaned_data['password1'] password2 = uf.cleaned_data['password2'] errors = [] if (password2 != password1): errors.append("两次输入的密码不一致!") return render_to_response('register.html',{'errors':errors}) #return HttpResponse('两次输入的密码不一致!,请重新输入密码') password = password2 email = uf.cleaned_data['email'] #将表单写入数据库 user = User.objects.create(username=username,password=password1) #user = User(username=username,password=password,email=email) user.save() pdb.set_trace() #返回注册成功页面 return render_to_response('success.html',{'username':username,'operation':"注册"}) else: uf = UserForm() return render_to_response('register.html',{'uf':uf}) class UserForm(forms.Form): username = forms.CharField(label='用户名',max_length=100) password1 = forms.CharField(label='密码',widget=forms.PasswordInput()) password2 = forms.CharField(label='确认密码',widget=forms.PasswordInput()) email = forms.EmailField(label='电子邮件') class UserFormLogin(forms.Form): username = forms.CharField(label='用户名',max_length=100) password = forms.CharField(label='密码',widget=forms.PasswordInput())
Tempaltes フォルダーの下には合計 3 つのページがあります:
Success.html
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>用户注册</title> </head> <style type="text/css"> body{color:#efd;background:#453;padding:0 5em;margin:0} h1{padding:2em 1em;background:#675} h2{color:#bf8;border-top:1px dotted #fff;margin-top:2em} p{margin:1em 0} </style> <body> <h1 id="注册页面">注册页面:</h1> <form method = 'post' enctype="multipart/form-data"> {{uf.as_p}} {{errors}} </br> <input type="submit" value = "ok" /> </form> </body> </html>
更新データベース:
実行サーバー:
登録ページ:
登録ユーザーが以前に登録したことがない場合は、正常に登録でき、[OK] をクリックして成功インターフェースログインページ:
[OK] をクリックして成功ページに入ります
これで Django ユーザーの登録とログインに関するチュートリアルは終わりです。皆さんのお役に立てれば幸いです。
以上がDjango チュートリアル: Django のユーザー登録とログイン方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
