栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

django实现注册登录以及动物园分类增删改查

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

django实现注册登录以及动物园分类增删改查

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

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,路由,变量都使用简写的模式,都是中文的拼音或者是拼音的首字母

二、使用步骤 1.创建django项目应用

代码如下(示例):

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


    
{% csrf_token %} 注册用户:
注册密码:

2.登录页面

代码如下(示例):




    
    Title


    
{% csrf_token %} 登录用户:
登录密码:

3.首页页面

代码如下(示例):




    
    Title


    
        {% for i in info %}
            
        {% endfor %}
    
编号 动物分类 操作
{{ i.id }} {{ i.cate }}
4.详情页面

代码如下(示例):




    
    Title


    
        {% for i in info %}
            
        {% endfor %}
    
编号 动物名 年龄 颜色 特征 体重 所属分类 操作
{{ i.id }} {{ i.name }} {{ i.age }} {{ i.color }} {{ i.tezheng }} {{ i.weight }} {{ i.cate_id }}
{% csrf_token %}
{% csrf_token %}
5.修改页面(示例):



    
    Title


    
{% csrf_token %} 名字:
年龄:
颜色:
特征:
体重:
所属分类:

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提供了大量能使我们快速便捷地处理数据的函数和方法。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994617.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号