Django项目骨架与默认配置修改

命令

django-admin startproject XX   # 创建项目
python manage.py startapp XX # 创建应用
python manage.py shell # shell,进入当前项目环境
python mange.py runserver # 启动内置的服务器运行当前的项目
python manage.py makemigrations # 生成迁移文件(数据表的Schema)
python manage.py migrate # 数据库迁移
python manage.py createsuperuser #创建超级用户(后台登录)

pip freeze > requirements.txt # 生成环境依赖文件
pip install -r requirements.txt # 重建项目依赖环境

整体架构

Django项目骨架与默认配置修改_第1张图片

  1. bbs是项目中的Python包名称,即导入Python包所使用的名称。
  2. _init_.py文件用于标识当前所在的目录是一个Python包。
  3. settings.py是Django项目的配置文件。
  4. urls.py文件用于记录Django项目的URL映射关系。
  5. wsgi.py是WSGI服务器程序的入口文件,用于启动应用程序。
  6. manage.py是用于管理Django项目的命令行工具。

settings.py文件配置项

# 定义的是bbs所在的完整路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# 加密盐,用于对各种需要加密的数据做Hash处理
SECRET_KEY = 'y(ejirhf&()-7=n3*+3v7qe6!o0z2xky2b!g6b7j89v_e1)&=b'

# 开发时设为True,暴露更多信息
DEBUG = True

# 用于配置可以访问当前站点的域名,当DEBUG配置为False时,它是一个必填项,设置ALLOWED_HOSTS=['*']允许所有的域名访问
ALLOWED_HOSTS = []

# 当前项目需要加载的App包路径列表
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

# 项目中需要加载的中间件列表配置
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

# 当前项目的根URL配置,是Django路由系统的入口点
ROOT_URLCONF = 'bbs.urls'

# 项目的模板配置
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

# 内置服务器
WSGI_APPLICATION = 'bbs.wsgi.application'


# 数据库配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}


# 一些支持插拔的密码验证器,避免直接通过用户的弱密码配置申请
AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]


# 项目的语言环境和时区
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'

# 国际化和本地化
USE_I18N = True
USE_L10N = True


# 标识对于时区的处理,如果设置为True,不论TIME_ZONE设置的是什么,存储到数据库中的时间都是UTC时间
USE_TZ = True

# 静态资源的存放位置
STATIC_URL = '/static/'

默认配置修改

  1. 中文语言环境和时区
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False
  1. 创建多个app到同一个文件夹
  • 手动创建
    1)在根目录下新建apps来统一放所有的app
mkdir apps && cd apps
  1. apps中新建一个文件夹,文件夹名字就是想生成app的名字
mkdir demo
  1. 用命令生成demo
django-admin startapp demo demo
# 或者
python manage.py startapp demo apps/demo
  • pycharm拖拽
    pycharm 中,直接将已经生成的app拖到apps中,这时会弹出对话框提示,取消勾选Search for references,然后右键apps文件夹——mark directory as —— sources root

最后,不要忘记在settings.py中添加路径

sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

xadmin 3 使用

1)下载

 git clone  [email protected]:TomatoChewgum/xadmin_django3.x.git
 cd xadmin_django3/
 git branch -a
 git checkout remotes/origin/django3

2)整合
在自己项目新建 extra_apps文件夹,把源码xadmin文件夹放到extra_apps文件夹下面。
Django项目骨架与默认配置修改_第2张图片
把extra_apps右键mark为Source Root并在settings中加入

sys.path.insert(0,os.path.join(BASE_DIR, 'extra_apps'))

3)配置路由
把项目依赖的admin改成xadmin

# urls.py
from django.urls import path
import xadmin

urlpatterns = [
    path('xadmin/', xadmin.site.urls),
]
  1. 注册app
    xadmincrispy_forms 注册到settings.py的INSTALLED_APPS中
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'xadmin',
    'crispy_forms',
]

5)安装包

pip install -r requirements.txt
#或者
conda install --yes --file requirements.txt

6)使用
迁移数据库后

python manage.py makemigrations
python manage.py migrate

创建管理员用户python manage.py createsuperuser,运行python manage.py runserver,访问地址http://127.0.0.1:8000/xadmin,就可以看到后台记录了。
Django项目骨架与默认配置修改_第3张图片

  • django —下载并安装xadmin(django3.x + python3.6)

你可能感兴趣的:(#,Django,django,python)