真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

django網(wǎng)頁按鈕權(quán)限管理-創(chuàng)新互聯(lián)

最近完成這樣的一個需求,比如說一個網(wǎng)頁有幾個按鈕(添加,編輯,刪除,查看),張三用戶可以訪問這幾個按鈕,李四只能查看(沒有其它權(quán)限),怎么辦?我相信對于初學者來說,完成這樣的需求,確實有點難度,作者也是折騰了2天,才懂的一點皮毛,在這里非常感謝我的同事雪姐,耐心的給我講解。言歸正傳,把這個流程跟大家分享一下.(高手勿噴)

創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務祁連,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220

首先設(shè)計表結(jié)構(gòu)

創(chuàng)建一個用戶表,并且做了一對一關(guān)聯(lián)django user表

1.自定義用戶表

from __future__ import unicode_literals

from django.db import models
from django.contrib.auth.models import User

# Create your models here.
#自定義用戶表
class Userinfo(models.Model):
    user = models.OneToOneField(User) #關(guān)聯(lián)django user表
    username = models.CharField(max_length=100)
    password = models.CharField(max_length=100)


    def __unicode__(self):
        return self.username

2.自定義權(quán)限表

class quanxian(models.Model):
    shuoming=models.CharField(max_length=100)
    def __unicode__(self):
        return self.shuoming
    class Meta:
        permissions = (
            ('edit', u'編輯權(quán)限'),
            ('add', u'添加權(quán)限'),
            ('DEL',u'刪除權(quán)限'),
            ('list',u'查看權(quán)限'),
        )

3.views.py定義一個login視圖方法

from test01.models import Userinfo
from django import forms
from django.contrib import auth
from django.contrib.auth.models import User
from django.contrib.auth import authenticate
from django.template import RequestContext


# Create your views here.
class UserForm(forms.Form):
    username = forms.CharField(label="user",max_length=100)
    password = forms.CharField(label="passwd",widget=forms.PasswordInput())
def index(request):


    return render_to_response('index.html')


def login(request):
    if request.method == 'POST':
        uf = UserForm(request.POST)
        if uf.is_valid():


            username = uf.cleaned_data['username']
            password = uf.cleaned_data['password']
            print username,password,"[*******]"

           

            user1 = authenticate(username=username, password=password)
            is_add = True if user1.has_perm('test01.add') else False 
            print 'user1--->',user1,user1.has_perm('test01.add'), is_add
            if user1:
                return render_to_response('index.html',locals(), context_instance=RequestContext(request))
            else:
                return HttpResponseRedirect('/login/')
    else:
        uf = UserForm()
    return render_to_response('login.html',{'uf':uf})

4.在admin.py注冊models.py里的表

from django.contrib import admin
from test01 import models
admin.site.register(models.quanxian)
admin.site.register(models.Userinfo)

5.urls.py

from django.conf.urls import url
from django.contrib import admin
from test01 import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/$',views.index),

    url(r'^$', views.login, name='login'),
]

6.初始化數(shù)據(jù)表,創(chuàng)建后臺admin管理員

python manage.py  makemigrations

python manage.py  migrate

創(chuàng)建后臺admin管理員

bogon:model_test will.xin$ python manage.py createsuperuser

Username (leave blank to use 'will.xin'): admin

Email address:

Password:

Password (again):

Superuser created successfully.

7.登錄admin后臺,創(chuàng)建用戶

http://127.0.0.1:8000/admin/

8.前端頁面

vim login.html





    
    登錄

 

登錄頁面:

    `uf`.`as_p`     

index.html




    
    index



{% if is_add %}
    
    
    
{% else %}
    
{% endif %}


歡迎{{ username }} 登錄

9.測試

首先用zhangsan用戶登錄

lisi用戶登錄后

大功告成

附件:http://down.51cto.com/data/2368094

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


分享標題:django網(wǎng)頁按鈕權(quán)限管理-創(chuàng)新互聯(lián)
本文來源:http://weahome.cn/article/jhshi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部