首先在PX中
创建一个新的项目,
如图:
修改settings.py
如图:
在urls.py填入:
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('user/',include('blog_user.urls',namespace="user")),
]
如图:
在wsgi.py填入:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "youran.settings")
application = get_wsgi_application()
如图:
在blog_user下创建models.py
内容写:
from django.db import models
# Create your models here.
class BlogUser(models.Model):
userName=models.CharField(max_length=20)
passWord=models.CharField(max_length=20)
如图:
运行models.py
如图:
在结果框中输入:
#Django根据模板为你创建一个要执行的模型
1.makemigrations blog_user
#创建了一张表
2.sqlmigrate blog_user 0001
执行你的应用在数据库中创建一张表
3.migrate blog_user 0001
如图:
当三条命令执行完毕后,你的数据库会有两张表:
如图:
在templates下创建user文件夹,
在user里面创建两个html
如图
:
在register.html里面的 body里面输入:
如图:
在welcome.html里面输入:
注册成功 欢迎你{{ bloguser.userName }}的到来
如图:
在blog_user下创建views.py:
from django.shortcuts import render,reverse,redirect
from blog_user.models import BlogUser
# Create your views here.
def register(request): #用来处理请求注册的命令
#做一个区分 get post 请求类别
if request.method=='GET':
return render(request,'user/register.html',{});
elif request.method=='POST':
#创建一个用户/数据库表 对象模型
bloguser= BlogUser()
bloguser.userName=request.POST.get('username')
bloguser.passWord=request.POST.get('upwd')
# 异常捕获
try:
bloguser.save()#执行数据库保存
# #重定向 :为了防止刷新页面的时候重复提交数据
return redirect(reverse('user:welcome',args=[bloguser.id]))
except:#捕获异常
return render(request, 'user/register.html',
{'bloguser':bloguser,
'error':'用户名重复'});
# 用来处理welcome请求
def welcome(request,id):
#根据你的请求 带参的那个id 获取数据库信息
bloguser=BlogUser.objects.get(pk=id)
#转发
return render(request, 'user/welcome.html', {'bloguser': bloguser});
'''
注意:如果重新注册相同的名字和密码还是可以注册成功,下面解决:
1.数据库当中加一个主键,或者加一个唯一索引
即:在你原来的模型上加一个nuique=True,这样名字一旦重复就会抛异常,所以
要异常捕获
'''
如图:
一:修改models.py:
from django.db import models
来我们试一下:
1.运行项目:
如图:
2.点击http://127.0.0.1:8000
如图:
3.在http://127.0.0.1:8000/后面加上user/register
如图:

4 注册一下:
如:用户:张三 密码:123789
如图:

同时你的数据库中会出现:
如图:

试试名字重复:
完毕!