DRF與xadmin框架基本搭建
知識
07-17
1、環境包(django和xadmin)
- 1、pip install djangorestframework
- 2、pip install django-filter # 用於查詢
- 3、pip install django-crispy-forms # 配合xadmin使用
- 4、pip install django-import-export # 配合xadmin使用
- 5、pip install pymysql # 用於連接mysql資料庫
# xadmin 直接pip install會出錯
通過這個鏈接可以解決
https://blog.csdn.net/LHYzyp/article/details/71785539
還有django版本不能2.0以上,否則xadmin會報錯。我用的是1.11.13
2、setting配置
- import sys
- sys.path.insert(0, BASE_DIR)
- sys.path.insert(0, os.path.join(BASE_DIR, "apps")) # 用於整合模塊
- sys.path.insert(0, os.path.join(BASE_DIR, "extra_apps")) # 用於放第三方的包
- ---------------------------------------------------------------------------------
- INSTALLED_APPS = (
- "rest_framework",
- "django_filters",
- "xadmin",
- "crispy_forms", # 配合xadmin使用
- )
- --------------------------------------------------------------------------------
- DATABASES = {
- "default": {
- "ENGINE": "django.db.backends.mysql", # 資料庫引擎
- "NAME": "jikong", # 你要存儲數據的庫名,事先要創建之
- "USER": "root", # 資料庫用戶名
- "PASSWORD": "123456", # 密碼
- "HOST": "localhost", # 主機
- "PORT": "3306", # 資料庫使用的埠
- }
- }
- -----------------------------------------------------------------------------
- LANGUAGE_CODE = "zh-hans"
- TIME_ZONE = "Asia/Shanghai"
- ---------------------------------------------------------------------------
- STATIC_URL = "/static/"
- STATICFILES_DIRS = (
- os.path.join(BASE_DIR, "static"),
- )
- LOGIN_URL = "/login.html/" # 用於登錄驗證
- --------------------------------------------------------------------------
- SESSION_ENGINE = "redis_sessions.session"
- SESSION_REDIS_HOST = "localhost"
- SESSION_REDIS_PORT = 6379
- SESSION_REDIS_DB = 5
- SESSION_REDIS_PASSWORD = ""
- SESSION_REDIS_PREFIX = "session"
- # 使用redis作為緩存
- ----------------------------------------------------------------------------
- # DRF 配置
- REST_FRAMEWORK = {
- # 分頁顯示
- "DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.LimitOffsetPagination",
- "PAGE_SIZE": 1,
- # 配置過濾
- "DEFAULT_FILTER_BACKENDS": ("django_filters.rest_framework.DjangoFilterBackend",)
- }
- -----------------------------------------------------------------------------
- # 錯誤或者信息日誌
- LOGGING = {
- "version": 1,
- "disable_existing_loggers": False,
- "formatters": {
- "verbose": {
- "format": "%(levelname)s %(asctime)s %(pathname)s func: %(funcName)s line:%(lineno)d %(message)s",
- },
- "standard": {
- "format": "%(levelname)s %(asctime)s %(message)s",
- },
- },
- "handlers": {
- "errorhandler": {
- "level": "ERROR",
- "class": "logging.FileHandler",
- "formatter": "verbose",
- "filename": "logs/jikong.log",
- },
- "infohandler": {
- "level": "INFO",
- "class": "logging.FileHandler",
- "formatter": "verbose",
- "filename": "logs/jiankong.log",
- },
- },
- "loggers": {
- "jikong": {
- "handlers": ["errorhandler"],
- "level": "DEBUG",
- "propagate": True
- },
- "jiankong": {
- "handlers": ["infohandler"],
- "level": "DEBUG",
- "propagate": True
- },
- }
- }
3、項目目錄下init配置pymysql
- import pymysql
- pymysql.install_as_MySQLdb()
4、項目URL配置
- from django.conf.urls import include, url
- from rest_framework.documentation import include_docs_urls # 用於查看文檔借口
- import xadmin
- from rest_framework.routers import DefaultRouter
- from django.conf import settings
- import os
- router = DefaultRouter()
- urlpatterns = [
- url(r"^", include(router.urls)),
- url(r"^xadmin/", xadmin.site.urls),
- url(r"^api-auth/", include("rest_framework.urls", namespace="rest_framework")),
- url(r"docs/", include_docs_urls(title="集控系統")),
- ]
- # 直接配置這個靜態資源一直出錯,後來找到這種方法
- """"" 訪問靜態web資源配置 start """
- media_root = os.path.join(settings.BASE_DIR, "templates")
- urlpatterns += static("/", document_root=media_root)
- """"" 訪問靜態web資源配置 end """
TAG:程序員小新人學習 |