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 # 重建项目依赖环境
# 定义的是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/'
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False
apps
来统一放所有的app
mkdir apps && cd apps
apps
中新建一个文件夹,文件夹名字就是想生成app
的名字mkdir demo
demo
django-admin startapp demo demo
# 或者
python manage.py startapp demo apps/demo
pycharm
中,直接将已经生成的app
拖到apps
中,这时会弹出对话框提示,取消勾选Search for references
,然后右键apps
文件夹——mark directory as
—— sources root
最后,不要忘记在settings.py
中添加路径
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
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
文件夹下面。
把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),
]
xadmin
和 crispy_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
,就可以看到后台记录了。