當前位置:
首頁 > 知識 > DRF與xadmin框架基本搭建

DRF與xadmin框架基本搭建

1、環境包(django和xadmin)

  1. 1、pip install djangorestframework
  2. 2、pip install django-filter # 用於查詢
  3. 3、pip install django-crispy-forms # 配合xadmin使用
  4. 4、pip install django-import-export # 配合xadmin使用
  5. 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配置

  1. import sys
  2. sys.path.insert(0, BASE_DIR)
  3. sys.path.insert(0, os.path.join(BASE_DIR, "apps")) # 用於整合模塊
  4. sys.path.insert(0, os.path.join(BASE_DIR, "extra_apps")) # 用於放第三方的包
  5. ---------------------------------------------------------------------------------
  6. INSTALLED_APPS = (
  7. "rest_framework",
  8. "django_filters",
  9. "xadmin",
  10. "crispy_forms", # 配合xadmin使用
  11. )
  12. --------------------------------------------------------------------------------
  13. DATABASES = {
  14. "default": {
  15. "ENGINE": "django.db.backends.mysql", # 資料庫引擎
  16. "NAME": "jikong", # 你要存儲數據的庫名,事先要創建之
  17. "USER": "root", # 資料庫用戶名
  18. "PASSWORD": "123456", # 密碼
  19. "HOST": "localhost", # 主機
  20. "PORT": "3306", # 資料庫使用的埠
  21. }
  22. }
  23. -----------------------------------------------------------------------------
  24. LANGUAGE_CODE = "zh-hans"
  25. TIME_ZONE = "Asia/Shanghai"
  26. ---------------------------------------------------------------------------
  27. STATIC_URL = "/static/"
  28. STATICFILES_DIRS = (
  29. os.path.join(BASE_DIR, "static"),
  30. )
  31. LOGIN_URL = "/login.html/" # 用於登錄驗證
  32. --------------------------------------------------------------------------
  33. SESSION_ENGINE = "redis_sessions.session"
  34. SESSION_REDIS_HOST = "localhost"
  35. SESSION_REDIS_PORT = 6379
  36. SESSION_REDIS_DB = 5
  37. SESSION_REDIS_PASSWORD = ""
  38. SESSION_REDIS_PREFIX = "session"
  39. # 使用redis作為緩存
  40. ----------------------------------------------------------------------------
  41. # DRF 配置
  42. REST_FRAMEWORK = {
  43. # 分頁顯示
  44. "DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.LimitOffsetPagination",
  45. "PAGE_SIZE": 1,
  46. # 配置過濾
  47. "DEFAULT_FILTER_BACKENDS": ("django_filters.rest_framework.DjangoFilterBackend",)
  48. }
  49. -----------------------------------------------------------------------------
  50. # 錯誤或者信息日誌
  51. LOGGING = {
  52. "version": 1,
  53. "disable_existing_loggers": False,
  54. "formatters": {
  55. "verbose": {
  56. "format": "%(levelname)s %(asctime)s %(pathname)s func: %(funcName)s line:%(lineno)d %(message)s",
  57. },
  58. "standard": {
  59. "format": "%(levelname)s %(asctime)s %(message)s",
  60. },
  61. },
  62. "handlers": {
  63. "errorhandler": {
  64. "level": "ERROR",
  65. "class": "logging.FileHandler",
  66. "formatter": "verbose",
  67. "filename": "logs/jikong.log",
  68. },
  69. "infohandler": {
  70. "level": "INFO",
  71. "class": "logging.FileHandler",
  72. "formatter": "verbose",
  73. "filename": "logs/jiankong.log",
  74. },
  75. },
  76. "loggers": {
  77. "jikong": {
  78. "handlers": ["errorhandler"],
  79. "level": "DEBUG",
  80. "propagate": True
  81. },
  82. "jiankong": {
  83. "handlers": ["infohandler"],
  84. "level": "DEBUG",
  85. "propagate": True
  86. },
  87. }
  88. }

3、項目目錄下init配置pymysql

  1. import pymysql
  2. pymysql.install_as_MySQLdb()

4、項目URL配置

  1. from django.conf.urls import include, url
  2. from rest_framework.documentation import include_docs_urls # 用於查看文檔借口
  3. import xadmin
  4. from rest_framework.routers import DefaultRouter
  5. from django.conf import settings
  6. import os
  7. router = DefaultRouter()
  8. urlpatterns = [
  9. url(r"^", include(router.urls)),
  10. url(r"^xadmin/", xadmin.site.urls),
  11. url(r"^api-auth/", include("rest_framework.urls", namespace="rest_framework")),
  12. url(r"docs/", include_docs_urls(title="集控系統")),
  13. ]
  14. # 直接配置這個靜態資源一直出錯,後來找到這種方法
  15. """"" 訪問靜態web資源配置 start """
  16. media_root = os.path.join(settings.BASE_DIR, "templates")
  17. urlpatterns += static("/", document_root=media_root)
  18. """"" 訪問靜態web資源配置 end """

DRF與xadmin框架基本搭建

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

c++的引用篇+指針
oc中對指針、對象和%符號的理解

TAG:程序員小新人學習 |