2019.03.18 连接my sql

本文介绍了使用Python连接MySQL数据库实现登录功能和影片展示功能。包括新建应用模块、配置数据库连接、创建模型类、生成数据库表、配置URL和视图函数等步骤。还介绍了通过数据库逆向生成模型类的方法,以及如何实现分页展示影片信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

11.登陆功能(链接MySQL)

python manage.py starapp movie

新建一个应用模块之后要记得到setting添加这个应用模块

 

在python2中你还有去导入一个MySQL_pathon 的第三包

第一步修改settings.py的文件

在文件上边会有一个链接会介绍,如何去链接数据库

端口,用户名,密码,名称,主机地址,链接器

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',#数据库连接器
'NAME': 'logindemo',#数据库名称
'HOST':'127.0.0.1',#数据库主机地址
'PORT':'3306',#数据库端口
'USER':'root',#数据库用户名
'PASSWORD':'123456'#数据库密码
}
}

 

配置模型类(student/models.py)

自己理解应该就是创建数据表,在models中写数据的字段和类型

class Stu(models.Model):
     sname = models.CharField(max_length=20,unique=True)
     spwd = models.CharField(max_length=20,unique=True)

 

生成数据库表

#创建当前应用的迁移文件
python manage.py makemigrations student

#生成数据库表
python manage.py migrate

 

再配置url

urlpatterns = [
  url(r'^admin/', admin.site.urls),
  url(r'^student/', include('student.urls')),
]

import views

urlpatterns = [
  url(r'^$',views.login_view),
  url(r'^login/',views.to_login_view)
]

 

配置函数试图

#处理登录功能
def doLogin_view(request):
#接收请求参数
  uname = request.POST.get('uname','')
  pwd = request.POST.get('pwd','')

#判断是否登录成功
  count = Stu.objects.filter(sname=uname,spwd=pwd).count()

  if count==1:
    return HttpResponse('登录成功!')
  else:
    return HttpResponse('登录失败!')

 

 

 

12.影片展示(数据库逆向生成)

1.数据库有东西了,创建模型类与数据库连接。那如何逆向连接呢

如下,通过命令执行的。指定到models.py文件中

创建模型类(逆向生成)

python manage.py inspectdb>movie/models.py

 

2.配置url(与上做法一样)

  去执行views中的函数,去解析html,呈现画面

创建视图函数

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.shortcuts import render
from models import *
import math

def page(num=1,size=20):
num = int(num)
if num < 1:
num = 1

# 计算总页数
total_records = Movie.objects.count()
total_pages = int(math.ceil(total_records * 1.0 / size))


if num > total_pages:
num = total_pages

movies = Movie.objects.all()[((num - 1) * size):(num*size)]


return movies,num


# Create your views here.
def index_view(request):
num = request.GET.get('num',1)

ms,n = page(num)

pre_page = n-1
next_page = n+1


return render(request,'movie.html',{'movies':ms,'pre_page':pre_page,'next_page':next_page})

创建HTML

{% for movie in movies %}

  <li>

    <a href = "{{movie.mlik}}><img src="{{movie.ming}}"/></a?

    <h1 class = "h1"><movie.name}}</h1>

    <span class = "tip">{{movie.mdesc }}</span>

  </li>

{% endfor %}

<div id="pagebar">
<a href="/movie/?num={{ pre_page }}">上一页</a>
<a href="/movie/?num={{ next_page }}">下一页</a>
</div>

 

转载于:https://www.cnblogs.com/Py-king/p/10552420.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值