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

Day03

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

Day03

迁移数据库 先在model层做模板

C:UsersAdministratorDesktopp4djangoday01>python manage.py makemigrations
No changes detected

from django.db import models
#Create your models here.

model层

class Game(models.Model):
name = models.CharField(max_length=20,verbose_name=‘商品名’)
price = models.IntegerField(verbose_name=‘价格’)
num = models.IntegerField(verbose_name=‘数量’)

6.创建超级用户并添加数据

1.创建超级用户:python manage.py createsuperuser

2.在子应用的admin.py文件中添加代码,注册表,不然admin控制台没办法管理这个表

from django.contrib import admin
from myapp.models import Game
#Register your models here.
admin.site.register(Game)

1.view业务逻辑处理

导包
from django.shortcuts import render,redirect
from django.views import View
from django.http import HttpResponse
from myapp.models import User

注册视图

class IndexView(View):
# 返回注册页面
def get(self,request):
return render(request,‘index.html’)
# 提交账号密码并保存到数据库
def post(self,request):
# 获取表单中提交的账号密码
user2 = request.POST.get(‘user’)
pwd2 = request.POST.get(‘pwd’)
# 保存账号密码到数据库中,
#可能要出现异常 进行异常处理
try:
# 新增数据
User.objects.create(user=user2,pwd=pwd2)
except Exception as e:
print(e)
return HttpResponse(‘账号密码注册失败’)

    # 重定向到登录页面
    return redirect('/login/')
登录视图

class LoginView(View):
# 返回登录页面
def get(self,request):
return render(request,‘login.html’)
# 提交账号密码,验证账号密码是否存在
def post(self,request):
user2 = request.POST.get(‘user’)
pwd2 = request.POST.get(‘pwd’)
# 查看数据库中是否存在账号为user1的数据
try:
# 查询用户名 与 表单中输入的用户名 一致的数据
user_data = User.objects.get(user=user2)
except Exception as e:
print(e)
return HttpResponse(‘账号不存在’)
# 用户存在,判断密码是否一致
if pwd2 == user_data.pwd:
# 重定向到主页面
return redirect(‘/zhuye/’)
else:
return HttpResponse(‘密码错误’)

主页面视图

class ZhuyeView(View):
# 获取主页面
def get(self,request):
return render(request,‘zhuye.html’)

动态路由匹配

class ZhuyeView2(View):
def get(self,request,id,name):
return HttpResponse(f’匹配到的id为:{id}–{name}')

class ZhuyeView3(View):
def get(self,request,x,y):
return HttpResponse(f’x为{x},y为:{y}')

2.url路由配置

from django.urls import path,re_path
from myapp import views
urlpatterns = [
# path(‘admin/’, admin.site.urls),
path(‘index/’,views.IndexView.as_view()),
path(‘login/’,views.LoginView.as_view()),
path(‘zhuye/’,views.ZhuyeView.as_view()),
re_path(r’1{5}/$',views.ZhuyeView.as_view()),

# 动态路由
path('zhuye2//',views.ZhuyeView.as_view()),
re_path(r'(?Pd+)/(?P[a-zA-Z]+)',views.ZhuyeView3.as_view()),

]


  1. a-z ↩︎

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

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

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