Python学习笔记(七)

Django Web框架使用

Django连接Mysql数据库,实现用户注册功能——

PS:先记录一下:

sqlite数据库是django创建web项目默认生成的,在settings.py 中进行设置的时候,NAME属性需要填写完整的db.sqlite3数据库的路径;

而在使用Mysql数据库的时候,NAME属性为所使用的数据库的名字

这个实例本来是Django自己创建的数据库,我想使用mysql数据库,很简单的修改——从sqlite数据库转成mysql数据库

1、首先创建一个web项目,django-admin.py startproject mysite

cd 进入项目目录下,创建app django-admin.py startapp login

2、创建模型,在models.py中添加类user

class User(models.Model):
    username = models.CharField(max_length=50)
    password = models.CharField(max_length=50)


    def __unicode__(self):
        return self.username

3、编写login目录下的views文件,创建视图操作

#coding=utf-8
from django.shortcuts import render,render_to_response
from django.http import HttpResponse,HttpResponseRedirect
from django.template import RequestContext
from django import forms
from models import User    #引入models中的User模型

def regist(req):
    if req.method == 'POST':
        uf = UserForm(req.POST)
        if uf.is_valid():
            #获得表单数据
            username = uf.cleaned_data['username']
            password = uf.cleaned_data['password']
            #添加到数据库
            User.objects.create(username= username,password=password)
            return HttpResponse('regist success!!')
    else:
        uf = UserForm()
    return render_to_response('regist.html',{'uf':uf}, context_instance=RequestContext(req))

4、python manage.py syncdb 后在sqlite中创建各个模型的数据库

这时候如果直接manage.py runserver 登录网站进行注册时报错,没有数据库login_user

需要进行python manage.py makemigrations

然后manage.py migrate

之后注册成功,sqlite数据库中显示插入的注册数据

5、将sqlite数据库改成mysql数据库,需要修改settings.py中的DATABASE字段信息

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',    #这里的test是mysql中的一个数据库
        'USER': 'root',
        'PASSWORD': '***',
        'HOST': '127.0.0.1',
        'PORT': '3306',

之后运行manage.py syncdb 可以在test中生成相应的数据表

6、启动服务器,输入网址进行注册操作,可以在test数据库的login_user 表中看到注册的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值