添加:
ProgrammingError: (1146, "Table 'test.app_name_testmodel' doesn't exist") 解决:
1. 创建更改的文件python manage.py makemigrations
django常用命令:
1. 新建一个 django project:django-admin.py startproject project_name
2. 新建 app:python manage.py startapp app_name
3. 创建数据库表 或 更改数据库表或字段:python manage.py makemigrations
python manage.py migrate
4. 使用开发服务器:python manage.py runserver 0.0.0.0:8000
新建一个django项目
或者亦可:django-admin.py startproject mysqllogin
新建APP:python manage.py startapp app01
app01>models.py
#-*- coding: utf-8 -*-
from __future__ importunicode_literalsfrom django.db importmodels#Create your models here.
classUser(models.Model):
username=models.CharField(max_length=32)
password=models.CharField(max_length=32)def __unicode__(self):return self.username
app01>views.py
#coding=utf-8
from django.shortcuts importrender,render_to_responsefrom django.http importHttpResponse,HttpResponseRedirectfrom django.template importRequestContextfrom django importformsfrom models importUser#表单
classUserForm(forms.Form):
username= forms.CharField(label='用户名',max_length=100)
password= forms.CharField(label='密码',widget=forms.PasswordInput())#注册
defregist(req):if req.method == 'POST':
uf=UserForm(req.POST)ifuf.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})#登陆
deflogin(req):if req.method == 'POST':
uf=UserForm(req.POST)ifuf.is_valid():#获取表单用户密码
username = uf.cleaned_data['username']
password= uf.cleaned_data['password']#获取的表单数据与数据库进行比较
user = User.objects.filter(username__exact = username,password__exact =password)ifuser:#比较成功,跳转index
response = HttpResponseRedirect('index.html')#将username写入浏览器cookie,失效时间为3600
response.set_cookie('username',username,3600)returnresponseelse:#比较失败,还在login
return HttpResponseRedirect('login.html')else:
uf=UserForm()return render_to_response('login.html',{'uf':uf})#登陆成功
defindex(req):
username= req.COOKIES.get('username','')return render_to_response('index.html' ,{'username':username})#退出
deflogout(req):
response= HttpResponse('logout !!')#清理cookie里保存username
response.delete_cookie('username')return response
mysqllogin>setting.py
from django.conf.urls importurlfrom django.contrib importadminfrom app01 importviews
urlpatterns=[#url(r'^admin/', admin.site.urls),
url(r'^index/', views.index),
url(r'^login/', views.login),
url(r'^regist/', views.regist),
url(r'^logout/', views.logout),
url(r'^$', views.login),
]
templates>index.html
welcome {{username}} !
templates>login.html
登陆登陆页面:
{% csrf_token %}{{uf.as_p}}
templates>regist.html
注册注册页面:
{% csrf_token %}{{uf.as_p}}
python manage.py shell
from app01.models import User
查询全部用户:User.objects.all()
新增用户:User.objects.create(username='xxx',password='xxx')