2019.03.18 连接my sql

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