一、Django項目創(chuàng)建
在創(chuàng)建Django項目之前需要在本地安裝Python
1、進(jìn)入Pycham之后點擊文件新建項目選擇新建Django項目,創(chuàng)建templates文件夾用來存放登錄所需要的HTML頁面,注意選擇正確的python解釋器。然后點擊創(chuàng)建,等待創(chuàng)建完成即可。
2、驗證Django項目是否創(chuàng)建成功
?在終端命令行輸入命令python manage.py runserver回車
點擊運行后出現(xiàn)的網(wǎng)址,若跳轉(zhuǎn)到如下頁面則項目創(chuàng)建成功
3、 項目中的相關(guān)文件
manage.py:?一個實用的命令行工具,可讓你以各種方式與該 Django 項目進(jìn)行交互。
__init__.py:?一個空文件,告訴 Python 該目錄是一個 Python 包。
asgi.py:?一個 ASGI 兼容的 Web 服務(wù)器的入口,以便運行你的項目。
settings.py:?該 Django 項目的設(shè)置/配置。
urls.py:?該 Django 項目的 URL 聲明; 一份由 Django 驅(qū)動的網(wǎng)站"目錄"。
wsgi.py:?一個 WSGI 兼容的 Web 服務(wù)器的入口,以便運行你的項目。
?4、在Django中創(chuàng)建一個登錄注冊的應(yīng)用
在終端命令行中輸入命令django-admin startapp login回車
應(yīng)用中的文件作用:
admin.py: 這個文件中可以自定義django管理工具,比如設(shè)置在管理界面能夠管理的項目,或者通過重新定義與系統(tǒng)管理有關(guān)的類對象,向管理功能增加新的內(nèi)容。
apps.py: 這個文件時django1.10之后增加的,通常里面包含對應(yīng)用的配置。
migration目錄: 用于存儲應(yīng)用的數(shù)據(jù)表結(jié)構(gòu)的指令,通過這些指令可以修改和創(chuàng)建數(shù)據(jù)庫,從而在models.py模型類和數(shù)據(jù)庫表之間遷移。
modles.py: 這是應(yīng)用的數(shù)據(jù)類型,每個django應(yīng)用都應(yīng)當(dāng)有一個 modles.py文件,雖然該文件可以為空,但不宜刪除。
tests.py: 在這個文件中可以編寫測試文檔來測試所建立的應(yīng)用。
views.py: 這是一個重要的文件,用戶保存響應(yīng)各種請求的函數(shù)或者類。如果編寫的是函數(shù),則稱為基于函數(shù)的視圖。
?4、將登錄應(yīng)用添加到配置文件中的INSTALLED_APPS列表中
?二、Django數(shù)據(jù)庫(MySQL)配置
1、?修改setting.py中的DATABASE數(shù)據(jù)庫配置如下
DATABASES = {
??? 'default': {
??????? 'ENGINE': 'django.db.backends.mysql',
??????? 'NAME': 'user_info',
??????? 'USER': 'root',
??????? 'PASSWORD': '123456',
??????? 'HOST': '127.0.0.1',
??????? 'POST':'3306',
??? }
}
2、?在終端命令行使用命令pip install pymysql安裝數(shù)據(jù)庫驅(qū)動
?3、在__init__.py中導(dǎo)入包pymysql
4、?在models.py文件中中編寫創(chuàng)建數(shù)據(jù)表的代碼并在終端使用命令python manage.py migrate遷移到migrations中
class RegisterUser(models.Model):
??? User_id=models.CharField(max_length=12,blank=False,primary_key=True)
??? User_passwd=models.CharField(max_length=12,blank=False)
5、 在終端命令行使用命令python manage.py makemigrations login創(chuàng)建數(shù)據(jù)表
三、?登錄和注冊的實現(xiàn)
1、?將前端代碼文件導(dǎo)入到templates文件夾中;
2、在urls.py文件中添加文件路徑;
3、?在views.py中編寫請求處理函數(shù)
(1)?登錄處理函數(shù);
def login(request):
??? if request.method=='GET':#如果是空表單讓用戶從新輸入
??????? return render(request,'login.html')
??? if request.method=='POST':
??????? username=request.POST.get('username')#取出表單中的用戶名
??????? userpassword=request.POST.get('password')#取出表單中的用戶密碼
??????? try:
??????????? user=RegisterUser.objects.get(User_id=username)#在數(shù)據(jù)庫中查找用戶名為username的對象(由用戶名與密碼組成)
??????????? if userpassword==user.User_passwd:#判斷密碼是否一致
??????????????? return HttpResponse('登錄成功')#一致則登錄成功
??????????? else:
??????????????? messages.error(request,'密碼錯誤')#否則提示用戶密碼錯誤
??????????????? return render(request, 'login.html')#返回讓用戶重新登錄
??????? except:
??????????? messages.error(request,'賬號不存在')#若用戶名不存在則提示用戶用戶不存在
??????????? return render(request,'Register.html')#跳轉(zhuǎn)到注冊頁面讓用戶注冊
?????????????
(2)?注冊處理函數(shù);文章來源:http://www.zghlxwxcb.cn/news/detail-788500.html
def Register(request):
??? if request.method=='GET':#若提交的表單為空則讓用戶重新輸入
??????? return render(request,'Register.html')
??? if request.method=='POST':
??????? userid=request.POST.get('username')#取出表單中的用戶名
??????? userpassword=request.POST.get('password')#取出表單中的密碼
??????? try:
??????????? user=RegisterUser.objects.get(User_id=userid)#在數(shù)據(jù)庫中取出User_id為user_id的對象(由用戶名與密碼組成)
??????????? if user:
??????????????? messages.error(request,'賬號已存在')#如果用戶名找到了那么提示用戶賬號已存在并返回登錄頁面
??????????????? return render(request,'login.html')
??????? except:
??????????? register = RegisterUser()#定義一個對象(由用戶名與密碼組成)
??????????? register.User_id = userid
??????????? register.User_passwd = userpassword
??????????? register.save()#將數(shù)據(jù)保存到數(shù)據(jù)庫中
??????????? messages.error(request,'注冊成功') #提示用戶注冊成功
??????????? return render(request,'login.html') #返回到登錄頁
?????? 文章來源地址http://www.zghlxwxcb.cn/news/detail-788500.html
到了這里,關(guān)于使用Pycharm配置Django后端程序?qū)崿F(xiàn)登錄和注冊的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!