Django之admin
一:配置文件(settings.py)
1、INSTALLED_APPS
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
2、在BASE_DIR目錄下創建static文件夾
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
STATIC_ROOT = os.path.join(BASE_DIR, '/static/')
3、添加用戶身份認證
# 指定Django是被用戶身份的類
AUTHENTICATION_BACKENDS = [
'users.utils.UsernameMobileAuthBackend',
]
二:路由(urls.py)
urlpatterns = [
path('admin/', admin.site.urls),
]
三:users子應用下創建utils.py文件并添加以下內容
import re
from django.contrib.auth.backends import ModelBackend
from .models import User
def get_user_by_account(account):
"""
根據帳號獲取user對象
:param account: 賬號,可以是用戶名,也可以是手機號
:return: User對象 或者 None
"""
try:
if re.match('^1[3-9]\d{9}$', account):
# 帳號為手機號
user = User.objects.get(mobile=account)
else:
# 帳號為用戶名
user = User.objects.get(username=account)
except User.DoesNotExist:
return None
else:
return user
class UsernameMobileAuthBackend(ModelBackend):
"""
自定義用戶名或手機號認證
"""
def authenticate(self, request, username=None, password=None, **kwargs):
user = get_user_by_account(username)
if user is not None and user.check_password(password):
return user
四:在子應用的admin.py添加指定的Model,例:
from django.contrib import admin
from users.models import MessageModel
admin.site.register(MessageModel)
五:用以下命令收集靜態文件
python manage.py collectstatic
setting.py的以下配置決定能否收集成功
*STATIC_ROOT = os.path.join(BASE_DIR, '/static/') #正確
*STATIC_ROOT = os.path.join(BASE_DIR, 'static') #錯誤
完成!!!!!!!!
七:部署到服務器上需更改nginx.conf文件
例如:
項目文件在服務器上的 /home/www文件夾下,static文件夾在csdn/csdn/csdn下
nginx.conf的配置如下:
server {
……省略……
location /static {
root /home/www/csdn/csdn/csdn;
}
……省略……
}
重啟nginx
在nginx/sbin下執行以下命令
./nginx -s reload
重啟項目(我用的是uwsgi + nginx部署的,這里重啟uwsgi.ini)
在項目中找到uwsgi.pid執行以下命令
uwsgi --reload uwsgi.pid
成功!!!
***別忘記創建超級用戶
首選創建一個新用戶,用來登錄Django管理網站,進入manage.py目錄下,使用如下命令來進行創建:
python manage.py createsuperuser
接下來輸入用戶名稱:
Username: admin
然后是輸入郵箱(QQemail等都可以):
Email address:(輸入你的郵箱賬號)
輸入密碼(輸入密碼時不會顯示出來,并且長度必須超過八位才行):
Password:********
Password(again):********
當兩次密碼輸入相同且超過八位的時候,就會提示創建超級用戶成功:
Superuser created successfully.
再次運行你的服務,輸入賬號和密碼就可以成功登陸了:
python manage.py runserver
智能推薦
Django~Admin
admin django amdin是django提供的一個后臺管理頁面,給管理頁面提供完善的html和css,使得你在通過Model創建完數據庫表之后,就可以對數據進行增刪改查,它是django強大功能之一,它能共從數據庫中讀取數據,呈現在頁面中,進行管理。默認情況下,它的功能已經非常強大,如果你不需要復雜的功能,它已經夠用,但是有時候,一些特殊的功能還需要定制,比如搜索功能,下面這一系列文章就...
【Django入門】——Django Admin
文章目錄 Django Admin Django Admin 服務器后臺管理員 開始一個項目時,Django已經配置了Django Admin python manage.py createsuperuser創建后臺管理員 在admin.py文件中添加模型:...
Django小試身手之管理頁admin使用
高可擴展性 向后兼容 低耦合,高內聚 項目的入口:manage.py 項目的配置:test1 項目的開發:自定義應用 虛擬環境:workon,mkvirtualenv,rmvirtualenv,deactivate pip list,pip install django的命令:django-admin startproject &nb...
Django基礎之模板語言、中間件和admin
一、模版的執行 模版的創建過程,對于模版,其實就是讀取模版(其中嵌套著模版標簽),然后將 Model 中獲取的數據插入到模版中,最后將信息返回給用戶。 二、模版語言 模板中也有自己的語言,該語言可以實現數據展示 三、自定義simple_tag (1)在app(也就是項目)中創建templatetags模塊 (2)創建任意 .py 文件,如:xx.py (3)在使用自定義simple_tag的htm...
Django:Admin,Cookie,Session
一. Admin的配置 1.Admin基礎設置 admin是django強大功能之一,它能夠從數據庫中讀取數據,呈現在頁面中,進行管理。默認情況下,它的功能已經非常強大,如果你不需要復雜的功能,它已經夠用,但是有時候,一些特殊的功能還需要定制,比如搜索功能,下面這一系列文章就逐步深入介紹如何定制適合自己的admin應用。 <1> 在settings中設置Admin界面顯示語言 &l...
猜你喜歡
django admin后臺系統
Django中默認集成了后臺數據管理頁面,通過簡單的配置就可以實現模型后臺的Web控制臺。 管理界面通常是給系統管理員使用的,用來完成數據的輸入,刪除,查詢等工作。 使用以下models來示范admin后臺系統的用法。 from django.db import models class Publisher(models....
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...