激活应用
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','myapp'#激活应用
]
连接数据库,这里是SQL server
##连接数据库
DATABASES = {'default': {'ENGINE': 'sql_server.pyodbc','NAME': 'bishe','USER':'sa','PASSWORD':'root','HOST':'localhost','PORT':'','OPTIONS': {'driver':'SQL Server Native Client 11.0','MARS_Connection': True,}}
}
注释掉这句话
记得改位置
用来存html文件, index.html, login.html,register.html,三个文件后边展示代码
在项目的urls.py文件中加入两句话
from django.contrib import admin
from django.urls import path
from django.urls import path, include #1urlpatterns = [path('admin/', admin.site.urls),path('myapp/', include('myapp.urls')) #2
]
在myapp文件夹里新建urls.py文件
输入代码:
from django.urls import path
from . import views
urlpatterns = [path('registe/', views.register,name='register'),path('log/', views.login,name='login'),
]
在myapp里的models.py文件中输入类:
from django.db import models# Create your models here.class User(models.Model):name = models.CharField(max_length=50)password = models.CharField(max_length=50)telephone = models.CharField(max_length=50,primary_key=True)email = models.CharField(max_length=50)#定义默认输出格式def __str__(self):return "%s,%s,%s,%s"%(self.name,self.password,self.telephone,self.email)#自定义对应的表名class Meta:db_table="user"
在Myapp里的views.py中输入代码
from django.shortcuts import redirect, render
from django.http import HttpResponse
from myapp.models import User
from django.contrib.auth import authenticate,login,logout
from django.contrib.auth.backends import ModelBackend# Create your views here.
def index(request):login_msg="恭喜!登录成功"return render(request,'index.html',{'login_msg':login_msg})def register(request):if request.method=='POST':userName=request.POST.get('userName')userTelephone=request.POST.get('userTel')userEmail=request.POST.get('userEmail')userPassword=request.POST.get('userPassword')userRePassword=request.POST.get('userRePassword')try:user=User.objects.get(telephone=userTelephone)if user:msg="用户已存在"return render(request,'register.html',{'msg':msg})except:if userPassword!=userRePassword:error_msg="密码不一致"return render(request,'register.html',{'error_msg':error_msg})else:register=User()register.name=userNameregister.telephone=userTelephoneregister.password=userPasswordregister.emaild=userEmailregister.save()return redirect('/myapp/log/')else:return render(request,'register.html')def login(request):if request.method=='POST':userTelephone=request.POST.get('usertel')userPassword=request.POST.get('userpassword')if User.objects.get(telephone=userTelephone):if User.objects.get(telephone=userTelephone).password==userPassword:msg='恭喜登录成功!'return render(request,'index.html',{'login_msg':msg})else:msg='手机号或密码错误'return render(request,'login.html',locals(),{'msg':msg})else:msg='用户不存在,请先注册!'return render(request,'login.html',locals(),{'msg':msg})else:return render(request,'login.html')
1.login.html
登录
用户登录
2.register.html
注册
用户注册
3.index.html
登录成功
{{login_msg}}
win+r ,cmd ,进到manage.py路径中
输入python manage.py runserver
C:\Users\86182\OneDrive\桌面\毕业设计\vscode\Liyanlin_BiShe>python manage.py runserver
Performing system checks...System check identified no issues (0 silenced).You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
March 17, 2023 - 14:16:16
Django version 2.1.15, using settings 'Liyanlin_BiShe.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
打开浏览器,进入http://127.0.0.1:8000/myapp/log/
进入登录页面
点击下方注册,可进行注册