django实现注册登录以及动物园分类增删改查提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 题目
- 一、什么是django框架?
- 二、使用步骤
- 1.创建django项目应用
- 2.配置文件
- 3.创建models类
- 4.模板页面
- 1.注册页面
- 2.登录页面
- 3.首页页面
- 4.详情页面
- 5.修改页面(示例):
- 5.视图层
- 1.创建django项目应用
- 6.路由层
- 总结
题目
1.创建django项目
2.创建django应用
3.注册成功跳转到登录页面,判断注册的手机号是否已经注册过
4.登录时判断是用户名不存在还是密码错误
5.定义模型类
动物分类 包括 分类名称
动物模型类 包括 名字 年龄 颜色 特征 体重 所属分类(外键)
6.首页显示全部分类信息,每条分类信息后有一个展示按钮
7.点击按钮展示该分类下的所有动物信息
8.每条动物信息后有删除和修改的按钮
9点击删除和修改分别能实现对应的操作
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是django框架?示例:Django框架他的主要意义,为页面传递数据,或者接受页面数据再传递给数据库或做一些其他操作
注意: 文章里的html,路由,变量都使用简写的模式,都是中文的拼音或者是拼音的首字母
代码如下(示例):
django-admin startproject 项目名 django-admin startapp 应用名2.配置文件
注册app(示例):
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'应用名'
]
根目录创建templates 再配置文件(示例):
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
配置pymsql(示例):
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 库名,
'PORT':端口,
'PASSWORD':密码,
'USER':用户名,
'HOST':主机
}
}
在主应用__init__.py里面将pymsql转换为django认识的类型(示例):
import pymysql pymysql.install_as_MySQLdb()3.创建models类
代码如下(示例):
from django.db import models
# Create your models here.
class Dwf(models.Model):
cate = models.CharField(max_length=20,verbose_name='动物分类')
class Meta:
db_table = 'dwf'
verbose_name_plural='动物分类'
def __str__(self):
return self.cate
class Dw(models.Model):
name = models.CharField(max_length=20,verbose_name='动物名')
age = models.IntegerField(verbose_name='年龄')
color = models.CharField(max_length=20, verbose_name='颜色')
tezheng = models.CharField(max_length=20,verbose_name='特征')
weight = models.IntegerField(verbose_name='体重')
cate = models.ForeignKey(to=Dwf,on_delete=models.CASCADE,verbose_name='动物分类')
class Meta:
db_table = 'dw'
verbose_name_plural='动物'
def __str__(self):
return self.name
class User(models.Model):
admin = models.CharField(max_length=20,verbose_name='注册用户')
password = models.CharField(max_length=20, verbose_name='注册密码')
class Meta:
db_table = 'users'
verbose_name_plural='注册'
def __str__(self):
return self.admin
4.模板页面
1.注册页面
代码如下(示例):
Title
2.登录页面
代码如下(示例):
Title
3.首页页面
代码如下(示例):
Title
| 编号 | 动物分类 | 操作 |
|---|---|---|
| {{ i.id }} | {{ i.cate }} |
代码如下(示例):
Title
| 编号 | 动物名 | 年龄 | 颜色 | 特征 | 体重 | 所属分类 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ i.id }} | {{ i.name }} | {{ i.age }} | {{ i.color }} | {{ i.tezheng }} | {{ i.weight }} | {{ i.cate_id }} |
Title
5.视图层
代码如下(示例):
from django.shortcuts import render,redirect,HttpResponse
from myapp.models import Dw,Dwf,User
from django.views import View
# Create your views here.
class Zhuce(View):
def get(self,request):
return render(request,'zhuce.html')
def post(self,request):
admin1 = request.POST.get('zadm')
pwd1 = request.POST.get('zpwd')
try:
User.objects.get(admin=admin1)
except:
User.objects.create(admin=admin1,password=pwd1)
return redirect('/denglu/')
else:
return HttpResponse('用户已存在,请重新注册')
class Denglu(View):
def get(self,request):
return render(request,'denglu.html')
def post(self,request):
admin1 = request.POST.get('dadm')
pwd1 = request.POST.get('dpwd')
try:
User.objects.get(admin=admin1,password=pwd1)
except:
try:
User.objects.get(admin=admin1)
except:
return HttpResponse('用户名不存在')
else:
return HttpResponse('密码错误')
else:
return redirect('/shouye/')
class Shouye(View):
def get(self,request):
data = Dwf.objects.all()
return render(request,'shouye.html',{'info':data})
class Xq(View):
def get(self,request,pk):
data = Dw.objects.filter(cate_id=pk)
return render(request,'xq.html',{'info':data})
class Sc(View):
def get(self,request,pk):
data = Dw.objects.get(id=pk).cate_id
Dw.objects.filter(id=pk).delete()
return redirect(f'/xq/{data}')
class Xg(View):
def get(self,request,pk):
return render(request,'xg.html')
def post(self,request,pk):
name1 = request.POST.get('xnam')
age1 = request.POST.get('xage')
color1 = request.POST.get('xcol')
tez1 = request.POST.get('xtez')
wei1 = request.POST.get('xwei')
cate1 = request.POST.get('xcat')
Dw.objects.filter(id=pk).update(name=name1,age=age1,color=color1,tezheng=tez1,weight=wei1,cate_id=cate1)
data = Dw.objects.get(id=pk).cate_id
return redirect(f'/xq/{data}')
1.创建django项目应用
代码如下(示例):
django-admin startpfrom django.shortcuts import render,redirect,HttpResponse
from myapp.models import Dw,Dwf,User
from django.views import View
# Create your views here.
class Zhuce(View):
def get(self,request):
return render(request,'zhuce.html')
def post(self,request):
admin1 = request.POST.get('zadm')
pwd1 = request.POST.get('zpwd')
try:
User.objects.get(admin=admin1)
except:
User.objects.create(admin=admin1,password=pwd1)
return redirect('/denglu/')
else:
return HttpResponse('用户已存在,请重新注册')
class Denglu(View):
def get(self,request):
return render(request,'denglu.html')
def post(self,request):
admin1 = request.POST.get('dadm')
pwd1 = request.POST.get('dpwd')
try:
User.objects.get(admin=admin1,password=pwd1)
except:
try:
User.objects.get(admin=admin1)
except:
return HttpResponse('用户名不存在')
else:
return HttpResponse('密码错误')
else:
return redirect('/shouye/')
class Shouye(View):
def get(self,request):
data = Dwf.objects.all()
return render(request,'shouye.html',{'info':data})
class Xq(View):
def get(self,request,pk):
data = Dw.objects.filter(cate_id=pk)
return render(request,'xq.html',{'info':data})
class Sc(View):
def get(self,request,pk):
data = Dw.objects.get(id=pk).cate_id
Dw.objects.filter(id=pk).delete()
return redirect(f'/xq/{data}')
class Xg(View):
def get(self,request,pk):
return render(request,'xg.html')
def post(self,request,pk):
name1 = request.POST.get('xnam')
age1 = request.POST.get('xage')
color1 = request.POST.get('xcol')
tez1 = request.POST.get('xtez')
wei1 = request.POST.get('xwei')
cate1 = request.POST.get('xcat')
Dw.objects.filter(id=pk).update(name=name1,age=age1,color=color1,tezheng=tez1,weight=wei1,cate_id=cate1)
data = Dw.objects.get(id=pk).cate_id
return redirect(f'/xq/{data}')roject 项目名
django-admin startapp 应用名
6.路由层
代码如下(示例):
from django.urls import path
from myapp import views
urlpatterns = [
path('zhuce/',views.Zhuce.as_view()),
path('denglu/',views.Denglu.as_view()),
path('shouye/',views.Shouye.as_view()),
path('xq/',views.Xq.as_view()),
path('sc/',views.Sc.as_view()),
path('xg/',views.Xg.as_view())
]
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。



