usage: web_main.py [-?] {shell,runserver} ... positional arguments: {shell,runserver} shell Runs a Python shell inside Flask application context. runserver Runs the Flask development server i.e. app.run() optional arguments: -?, --help show this help message and exit 进程已结束,退出代码2
时间: 2024-03-07 15:50:51 浏览: 157
这是关于一个名为 web_main.py 的脚本的帮助信息。该脚本接受一个或多个位置参数,包括 shell 和 runserver,用于在 Flask 应用程序上下文中运行 Python shell 或运行 Flask 开发服务器。此外,还有一个可选参数 -? 或 --help,用于显示帮助信息并退出。据此推测,该脚本可能是一个用于启动 Flask 应用程序的脚本。
相关问题
(api_appium) E:\Program Files\Sourcetree_List\Tool\FrontEndTool>python manage.py runserver --watch-filesystem usage: manage.py runserver [-h] [--ipv6] [--nothreading] [--noreload] [--nostatic] [--insecure] [--version] [--settings SETTINGS] [--pythonpath PYTHONPATH] [--no-color] [--force-color] [--skip-checks] [addrport] manage.py runserver: error: unrecognized arguments: --watch-filesystem
抱歉,`--watch-filesystem` 参数只在 Django 3.1 或更高版本中可用,而你使用的 Django 版本可能不支持该参数。你可以通过以下命令查看 Django 版本:
```
python -m django --version
```
如果你的 Django 版本低于 3.1,你可以尝试使用以下方法来重新加载代码:
1. 停止当前运行的 Django 服务器,然后重新启动服务器,这样可以强制服务器重新加载所有代码。
2. 去掉 `--noreload` 参数,使用 `python manage.py runserver` 命令启动 Django 服务器,这样服务器会在代码改动时自动重新加载。
如果你的 Django 版本是 3.1 或更高版本,你可以使用以下命令启动服务器:
```
python manage.py runserver --watch-filesystem
```
这个命令会让 Django 监听文件系统的变化,并在文件发生变化时自动重新加载代码。
我想将frontend 也是用volumes,将其映射到/app/frontend目录,在/app/frontend下install以及build,如何实现 docker-compose.yml文件: version: '3' services: frontend: build: context: ./frontend dockerfile: Dockerfile ports: - 8010:80 restart: always backend: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: python manage.py runserver 0.0.0.0:8000 ports: - 8011:8000 restart: always celery-worker: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: celery -A server worker -l info --pool=solo --concurrency=1 depends_on: - redis - backend restart: always celery-beat: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: celery -A server beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler depends_on: - redis - backend restart: always redis: image: redis:latest ports: - 6379:6379 restart: always mysql: image: mysql:latest environment: - MYSQL_ROOT_PASSWORD=sacfxSql258147@ ports: - 8016:3306 volumes: - ./mysql:/var/lib/mysql restart: always frontend:dockerfile文件 FROM node:16.18.1 WORKDIR /app/frontend COPY package*.json ./ RUN npm install COPY . . RUN npm run build:prod FROM nginx:latest COPY --from=0 /app/frontend/dist/ /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
要将前端的代码映射到容器内的`/app/frontend`目录,并在容器内进行安装和构建,可以通过在`docker-compose.yml`文件中为`frontend`服务添加一个卷来实现。更新后的`docker-compose.yml`文件如下所示:
```yaml
version: '3'
services:
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
ports:
- 8010:80
volumes:
- ./frontend:/app/frontend
restart: always
backend:
build:
context: ./backend
dockerfile: Dockerfile
volumes:
- /app/backend:/app
environment:
- CELERY_BROKER_URL=redis://redis:6379/0
command: python manage.py runserver 0.0.0.0:8000
ports:
- 8011:8000
restart: always
celery-worker:
build:
context: ./backend
dockerfile: Dockerfile
volumes:
- /app/backend:/app
environment:
- CELERY_BROKER_URL=redis://redis:6379/0
command: celery -A server worker -l info --pool=solo --concurrency=1
depends_on:
- redis
- backend
restart: always
celery-beat:
build:
context: ./backend
dockerfile: Dockerfile
volumes:
- /app/backend:/app
environment:
- CELERY_BROKER_URL=redis://redis:6379/0
command: celery -A server beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
depends_on:
- redis
- backend
restart: always
redis:
image: redis:latest
ports:
- 6379:6379
restart: always
mysql:
image: mysql:latest
environment:
- MYSQL_ROOT_PASSWORD=sacfxSql258147@
ports:
- 8016:3306
volumes:
- ./mysql:/var/lib/mysql
restart: always
```
这样,将会把本地的`./frontend`目录映射到容器内的`/app/frontend`目录。然后,在容器内部构建过程中,使用`/app/frontend`目录中的代码进行安装和构建。
请注意,这里假设`docker-compose.yml`文件和`frontend`目录在同一级目录下。如果不是,请相应调整`volumes`中的路径。
阅读全文