django mysql secure_auth_django+mysql用户登录系统,遇到问题及解决

添加:

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项目

e19f7cb11a5f46ba33350657648b83a8.png

或者亦可: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')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值