新建app后点开models.py对表结构进行配置
# _*_ encoding:utf-8 _*_ //如果用到中文要加这个
from __future__ import unicode_literals
from django.db import models
# Create your models here.
class userMassage(models.Model):
name = models.CharField(max_length=20, default='', verbose_name="用户名", primary_key=True) //对表单进行配置
password = models.CharField(max_length=20, verbose_name="密码")
class Meta:
verbose_name=u"用户留言信息"
然后配置app中view.py可以在其中对数据进行处理,每当访问一次这个页面时就会加载一次
# -*- coding utf-8 -*-
from django.shortcuts import render
from .models import userMassage //别忘了把models中你自定义的表单类给import进来
# Create your views here.
def getform(request):
#对数据进行查找
#all_message=userMassage.objects.all() #支持for循环,取出所有数据
#all_message = userMassage.objects.filter(name='littlebeen') #对数据进行按条件取出
#all_message.delete() # 把检索出来的数据全删了
#for message in all_message:
#print(message.name)
all_message = userMassage.objects.filter(name='been') #检索相应的表的内容
if all_message: #如果检索结果不为空的话
mymessage=all_message[0]
#新建信息进行保存,再对话框里输入进行保存,要把form的method设为post!
#if request.method == 'POST':
#id = request.POST.get('id', '')
#pw = request.POST.get('pw', '')
#user_message = userMassage()
#user_message.name = id
#user_message.password = pw
#user_message.save()
return render(request,'login.html',{
'mymessage':mymessage
})
配置url时别忘了把自己写的app中view.py的函数import进来,然后第二个空写上函数名字
最后配置setings中的app
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'apps.users' //apps如果被标记了的话可以不写,这个写的是user的不是上面message的
]
AUTH_USER_MODEL = "users.UserPorfile" //如果是重载原有表的话要加上这个
之后再run manage.py Task中makemigrations users //app名
之后migrate一下就完成了
如果要对现有的diango中的表进行更改
# _*_ encoding:utf-8 _*_
from __future__ import unicode_literals
from django.db import models
from django.contrib.auth.models import AbstractUser #自定义user表,在继承原有user表的同时加上自己的字段
# Create your models here.
class UserPorfile(AbstractUser):
type = models.CharField(max_length=20, verbose_name=u'类型', default=u'会员',
choices=(("member", u"会员"), ("staff", "员工")))
class Meta:
verbose_name = "账号"
verbose_name_plural = verbose_name
def __unicode__(self): #如果不重载,无法打印我们自定义的列
return self.username