semvec/pypi-packages huggingface dataset:
django-textbus 0.4.5
A Django integration for Textbus rich text editor
License: MIT
Requires Python: >=3.8

# Django Textbus

Django Textbus 是一个 Django 应用，用于集成 [Textbus](https://textbus.io/) 富文本编辑器到 Django 项目中。

## 特性

- 为 Django 表单提供 Textbus 富文本编辑器小部件
- 支持 Django 4.0 及以上版本
- 可自定义的编辑器配置
- 简单易用的 API

## 安装

```bash
pip install django-textbus
```

## 依赖

- Python 3.8+
- Django 4.0+
- TextBus 3.8.4+

前端依赖（通过 npm 安装）：
- @textbus/core
- @textbus/editor
- webpack
- webpack-cli

## 快速开始

1. 安装包：

```bash
pip install django-textbus
```

2. 安装前端资源：

```bash
python manage.py install_textbus

# 指定版本（使用--tb-version参数）
python manage.py install_textbus --tb-version=latest

# 强制重新安装
python manage.py install_textbus --force
```

3. 将 `django_textbus` 添加到你的 `INSTALLED_APPS` 设置中：

```python
INSTALLED_APPS = [
    ...
    'django_textbus',
]
```

4. 在你的模型中使用 TextbusField：

```python
from django.db import models
from django_textbus.fields import TextbusField

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = TextbusField()
```

5. 在表单中使用 TextbusWidget：

```python
from django import forms
from django_textbus.widgets import TextbusWidget
from .models import Post

class PostForm(forms.ModelForm):
    class Meta:
        model = Post
        fields = ['title', 'content']
        widgets = {
            'content': TextbusWidget(),
        }
```

6. 在模板中使用表单：

```html
<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">提交</button>
</form>
```

> 注意：安装后需要运行 `python manage.py collectstatic` 收集静态文件。

## 配置

你可以在 Django 的 settings.py 中配置 Textbus 编辑器：

```python
TEXTBUS_CONFIG = {
    'height': '400px',
    'toolbar': ['bold', 'italic', 'underline', 'strikethrough', 'link', 'image'],
    # 更多配置选项...
}
```

## 收集静态文件

安装完成后，运行以下命令收集静态文件：

```bash
python manage.py collectstatic
```

## 故障排除

### 1. 命令行参数冲突

如果你在运行 `install_textbus` 命令时遇到以下错误：

```
argparse.ArgumentError: argument --version: conflicting option string: --version
```

请使用 `--tb-version` 参数代替 `--version` 参数：

```bash
python manage.py install_textbus --tb-version=latest
```

### 2. 下载文件时出错

如果你在运行 `install_textbus` 命令时遇到以下错误：

```
下载Textbus文件时出错: HTTP Error 404: Not Found
```

这是因为 TextBus 3.x 版本不再提供 `textbus-theme.min.css` 文件。最新版本的 django-textbus 包已经修复了这个问题。

如果你仍然遇到这个问题，请尝试使用本地模式：

```bash
python manage.py install_textbus --tb-version=local
```

### 3. JavaScript 错误：editor.getContent is not a function

如果你在浏览器控制台中看到这个错误，这是因为 TextBus 编辑器的 API 在不同版本之间有变化。请确保你使用的是最新版本的 django-textbus 包（至少是 0.4.1 版本）。

如果问题仍然存在，请尝试强制重新安装 TextBus 资源：

```bash
python manage.py install_textbus --force
```

然后运行收集静态文件：

```bash
python manage.py collectstatic --noinput
```

## 版本历史

### 0.4.3
- 默认使用 TextBus 3.8.4 版本
- 更新了文档和依赖说明

### 0.4.2
- 修复了 install_textbus 命令的下载错误问题
- 增加了对 TextBus 4.x 版本的兼容性

### 0.4.1
- 修复了 install_textbus 命令的 --version 参数冲突问题
- 修复了 editor.getContent is not a function 错误
- 改进了错误处理和兼容性

### 0.4.0
- 添加了本地打包的 TextBus 资源
- 更新了文档和测试

### 0.3.3
- 初始版本

## 许可证

MIT