django怎么一个人认证一个(2023年最新解答)

作者&投稿:文送 (若有异议请与网页底部的电邮联系)
~

导读:今天首席CTO笔记来给各位分享关于django怎么一个人认证一个的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

django中后台admin我是自己写的,现在要用用户认证这块了,感觉他自带的认证功能比较好,如何使用呢

不是使用自带admin的时候,有个配置文件捏,主要在那个文件里面改就好了,admin的实质其实就是一个工厂而已,配置了在系统第一次加载的时候就已经全部生成,默认路径是admin,既然你自己写了admin模块,你把你写的url路径换一个,那么在访问的时候,就两个都能访问了撒,比如你的admin最开始的基本路径叫admin1,就和默认admin分开了,想用那个服务,调用哪一个就好了

django如果在多个app使用各自的用户多认证

这个不能再settings.py里面直接配置,配置了以后这个配置文件写的就是默认Auth系统了,想要用到各自的用户表来认证话,你在每个App的models.py和admin.py里面分别继承Django自带的Auth系统,fromdjango.contrib.authimportauthenticate,login,logout这句话就可以解决views里面的登录与退出;fromdjango.contrib.auth.modelsimportUser就可以继承User的models。

觉得好的话采纳一下哦

如何利用Django-auth做用户认证

首先,让我们开始创建项目和APP,前面我也很详细的说明了如何创建项目和APP。

创建数据库,和相关用户的权限。

root@CD-FTP-VPN:/opt/jastme#tree

.

|--jastme

||--__init__.py

||--__init__.pyc

||--settings.py

||--settings.pyc

||--urls.py

||--urls.pyc

||--wsgi.py

|`--wsgi.pyc

|--login

||--admin.py

||--__init__.py

||--__init__.pyc

||--models.py

||--models.pyc

||--tests.py

||--views.py

|`--views.pyc

|--manage.py

`--start.sh

2directories,18files

root@CD-FTP-VPN:/opt/jastme#

使用pythonmanage.pysyncdb来创建一个叫jastme,密码为jastme的超级用户。我们可以用Django-admin来管理这些用户。

首先看看setting.py

root@CD-FTP-VPN:/opt/jastme#morejastme/settings.py

"""

Djangosettingsforjastmeproject.

Formoreinformationonthisfile,see

Forthefulllistofsettingsandtheirvalues,see

"""

#Buildpathsinsidetheprojectlikethis:os.path.join(BASE_DIR,...)

importos

BASE_DIR=os.path.dirname(os.path.dirname(__file__))

#Quick-startdevelopmentsettings-unsuitableforproduction

#See

#SECURITYWARNING:keepthesecretkeyusedinproductionsecret!

SECRET_KEY='r!1=i^3qhwglr(zf*9n*ii!b_oy2h()ics(6(de3wuo0-oh8h'

#SECURITYWARNING:don'trunwithdebugturnedoninproduction!

DEBUG=True

TEMPLATE_DEBUG=True

ALLOWED_HOSTS=[]

#Applicationdefinition

INSTALLED_APPS=(

#'django.contrib.admin',#注释掉admin

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'login',

)

MIDDLEWARE_CLASSES=(

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

#'django.middleware.csrf.CsrfViewMiddleware',#这个中间件是防止跨站攻击的。有意思的朋友可以去搜索下。

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.auth.middleware.SessionAuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

)

ROOT_URLCONF='jastme.urls'

WSGI_APPLICATION='jastme.wsgi.application'

#Database

#

DATABASES={#数据库的相关配置

'default':{

'ENGINE':'django.db.backends.mysql',

'NAME':'jastme',

'USER':'jastme',

'PASSWORD':'jastme',

'HOST':'localhost',

'PORT':'3306',

}

}

#Internationalization

#

LANGUAGE_CODE='en-us'

TIME_ZONE='Asia/Shanghai'

USE_I18N=True

USE_L10N=True

USE_TZ=True

#Staticfiles(CSS,JavaScript,Images)

#

STATIC_URL='/static/'

TEMPLATE_DIRS=(#模板的路径

'/var/www/jastme/',

)

views.py

root@CD-FTP-VPN:/opt/jastme#morelogin/views.py

fromdjango.shortcutsimportrender

fromdjango.contribimportauth

#Createyourviewshere.

fromdjango.shortcutsimportrender_to_response

fromdjango.contrib.authimportauthenticate,login

fromdjango.template.loaderimportget_template

fromdjango.templateimportContext

fromdjango.httpimportHttpResponse,HttpResponseRedirect

fromdjango.contrib.auth.decoratorsimportlogin_required

defmy_login(request):#我们自定义一个函数,这个函数名字一定不要写成login,因为Django有有login模块。

ifrequest.method=='POST':#我们使用POST的方法来获取从HTML传递过来的表单内容

username=request.POST['username']#获取账号和密码

password=request.POST['password']

user=authenticate(username=username,password=password)#我们用user来实例化authenticate(username=username,password=password)

ifuserisnotNone:#用户名不为空

ifuser.is_active:#为激活用户

login(request,user)#调用django.contrib.auth中的login函数,可以具体去看看源码

returnHttpResponseRedirect('/main')#登陆成功就重定向到主页

else:

login_error='loginerror.'

returnrender_to_response('login.html',{'login_error':login_error,'is_display':'display:block'})#失败则返回登陆页面

returnrender_to_response('login.html',{'is_display':'display:none'})#同理

@login_required#调用了这个修饰器,就可以让这个页面在成功登陆后才能访问

defmain(request):

returnHttpResponse('loginsucess')#直接返回这个字符串

再看看urls.py

root@CD-FTP-VPN:/opt/jastme#morejastme/urls.py

fromdjango.conf.urlsimportpatterns,include,url

#fromdjango.contribimportadmin

fromlogin.viewsimportmy_login,main#这里是我们导入的项目中的views.py中的模块,就是我们自己写的函数

#fromdjango.contrib.auth.viewsimportlogin,logout

urlpatterns=patterns('',

#Examples:

#url(r'^$','jastme.views.home',name='home'),

#url(r'^blog/',include('blog.urls')),

#url(r'^admin/',include(admin.site.urls)),

(r'^main/$',main),

(r'^login/$',my_login),

)

login.html

root@CD-FTP-VPN:/var/www/jastme#pwd

/var/www/jastme

root@CD-FTP-VPN:/var/www/jastme#ls

login.html

formaction=""method="POST"#在此页面以POST的方式来提交参数

inputtype=textname="username"

inputtype=textname="password"

inputtype=submitvalue="send"

/form

结语:以上就是首席CTO笔记为大家介绍的关于django怎么一个人认证一个的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。




终结者1里面施瓦辛格刚开始进入一个酒吧,酒吧里面放的什么歌曲_百度知 ...
朋友,我再提醒你一句,您问题问的是终结者1,而不是终结者2,原则上说,这个问题是没有答案的。您如果再开个问题,把1改成2提问,应该会有些收获的。算了,还是告诉你吧,T2开头酒吧的音乐名字叫做《i'll be back 》下载地址:http:\/\/cd04.static.jango.com\/music\/05\/83\/56\/0583567949.mp3 ...

宋祖英上海世博演唱会中和一个外国男高音唱的歌名叫什么?这种类型好听...
给个链接 http:\/\/www.gxccedu.com\/MP3\/gwjd\/ttsg.mp3 还有一首canto della terra 链接 http:\/\/cd04.static.jango.com\/\/music\/\/09\/12\/81\/0912816279.mp3 还有兴趣的话可以听听看他和席琳迪翁的the prayer 链接 http:\/\/ichiba.geocities.jp\/ejs_nw\/CelineDion_08ML218.mp3 毕竟都是大师级的人,唱的再怎...

一首英文歌,有句歌词是l believe you ,一个女生唱
I believe in you:http:\/\/cd04.static.jango.com\/\/music\/\/00\/33\/67\/0033677712.mp3 唱泰坦尼克号的那个女的唱的.

丹东市13598911459: django1.9.5怎么建立超级用户 -
僪衫西黄: 首先我们要新建一个用户名,用来登陆管理网站,可以使用如下命令:python manage.py createsuperuser 输入想要使用的用户名:Username (leave blank to use 'administrator'): user01 输入email:Email address: (在这里输入你的自己的邮箱帐号) 输入密码,需要输入两次,并且输入密码时不会显示出来:Password:Password (again):当两次密码都相同的时候,就会提示超级帐号创建成功.Superuser created successfully.运行服务:python manage.py runserver

丹东市13598911459: django怎么创建一个简单的用户授权系统 -
僪衫西黄: django认证系统包含三个部分:用户、权限和分组...如果不是使用django-admin.py创建项目的可以通过在...django自带一个简单的权限系统

丹东市13598911459: 如何安装配置Django环境 -
僪衫西黄: 一、安装Django 1. 通过pip安装Django 如果你是通过升级的方式安装Django,那么你需要先卸载旧的版本. Django提供3种发行版本,推荐使用官方的稳定版本:你的操作系统提供的发行版本(Linux) 官方稳定版本(推荐) 开发测试版本 ...

丹东市13598911459: django 多对多怎么插入数据 -
僪衫西黄: 1. 首先你需要建立django的对象模型2. 建立两个模型之间的关系表3. 将数据保存到关系表中.具体的插入方法,可以参考:http://www.redicecn.com/html/Python/20120505/399.html 如果解决了您的问题请采纳!如果未解决请继续追问

丹东市13598911459: 菜鸟求助.django中我想建一个用户表(名,密码),和一个个人信息表(名,头像,出生年月等). -
僪衫西黄: class User(models.Model): username = models.CharField(max_length=50,blank=False) password = models.CharField(max_length=50,blank=False) class UserInfo(models.Model): user= models.ForeignKey(User) address = models.CharField(max_length=50,blank=False) email = models.CharField(max_length=50,blank=False)直接通过外键ForeignKey关联

丹东市13598911459: Django用户登录验证跳转问题 -
僪衫西黄: 你没有用django自带的admin模块么?如果用自带的,他是不弹出窗口的,是个错误的MSG,在登录窗体的上方,红色字体显示;这个admin启用之后,就自动有登录界面和错误提示的,不需要自己再写任何代码;如果你想修改他的登录界面,可以把他的模板文件拷贝到自己的templates目录下的admin目录下,然后找到里面的文件,具体自己找找,里面就可以自己加JSP代码.

丹东市13598911459: django中怎么设置单个session的失效时间 -
僪衫西黄: set_expiry(value): 设置cookie的有效期.可以传递不同类型的参数值:• 如果值是一个整数,session将在对应的秒数后失效.例如request.session.set_expiry(300) 将在300秒后失效.• 如果值是一个datetime或者timedelta对象, 会话将在指定的日期失效 • 如果为0,在用户关闭浏览器后失效 • 如果为None,则将使用全局会话失效策略 失效时间从上一次会话被修改的时刻开始计时.详细参考:刘江的django教程

丹东市13598911459: django 怎么理解一对多 多对多 -
僪衫西黄: 这其实是传统关系数据的实体关系建模的内容,实体和实体之间的连接关系.比如说一个人只能有一个父亲,一个父亲可以有多个孩子这就是,父亲和孩子之间就是1对多.如果父亲有两个弟弟,2个儿子,那父亲的孩子就有2个叔叔,每个叔叔都有个2个侄子,这就叫做多对多.

丹东市13598911459: 用django自带的用户登录怎么实现 -
僪衫西黄: 初学python和django,做个简单的注册登录功能,供初学者参考. 首先是创建项目,django-admin.py startproject demo 接着创建应用,因为功能简单,所以只创建一个应用 django-admin startapp blog 说明下,数据库我用的是mysql,在settings....

丹东市13598911459: 想用django中的form写出一个填写个人信息的功能,想实现如果已经填写过个人信息,即数据库已经存在信息, -
僪衫西黄: view中的处理函数,如果请求方式为默认,则从数据库中读取数据,通过上下文传递到模板绑定,如果是POST,则接收更新处理:def handle_data(request,rid): if form.method=="POST": #检索表单值,更新数据 else: r = Resume.objects.get(pk=rid) ... return render(request,'test.html',{"resume":r}) 模板页

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网