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 表中看到註冊的數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章