Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
fmalina authored Sep 16, 2024
1 parent 5e87338 commit f2bee50
Showing 1 changed file with 35 additions and 35 deletions.
70 changes: 35 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,30 @@ upload.js uses the W3C File API
## Installation (into a Django project)

To get the latest version from GitHub

pip3 install -e git+git://github.com/fmalina/upload.git#egg=upload

```bash
pip3 install -e git+git://github.com/fmalina/upload.git#egg=upload
```
Add `upload` to your `INSTALLED_APPS`

INSTALLED_APPS = (
...,
'upload',
)

```python
INSTALLED_APPS = (
...,
'upload',
)
```
Configure your settings to suit, see upload/app_settings.py. You can use
the collection model provided.

Add the `upload` URLs to your `urls.py`

urlpatterns = [
...
url(r'^upload/', include('upload.urls')),
]

```python
urlpatterns = [
...
url(r'^upload/', include('upload.urls')),
]
```
Create your tables

./manage.py migrate upload

```bash
./manage.py migrate upload
```
## Usage

### Setup a collection
Expand Down Expand Up @@ -76,37 +76,37 @@ Simple integration works out of the box.

To upload files for any model taking advantage of generic foreign key,
link:

<a href="{% url 'upload_edit' app_label model(lower) object_id %}">Upload</a>

```html
<a href="{% url 'upload_edit' app_label model(lower) object_id %}">Upload</a>
```
So a profile picture upload link might look like:

<a href="{% url 'upload_edit' 'auth' 'user' request.user.pk %}">Upload</a>

```html
<a href="{% url 'upload_edit' 'auth' 'user' request.user.pk %}">Upload</a>
```
An important view to reuse or use as inspiration in a custom integration
is `views_post.FilesEditView`.

### Example settings
```python
import os
import os

APP_ROOT = os.path.abspath(
os.path.join(os.path.dirname(__file__), '..'))
APP_ROOT = os.path.abspath(
os.path.join(os.path.dirname(__file__), '..'))

STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATIC_ROOT = APP_ROOT + STATIC_URL
MEDIA_ROOT = STATIC_ROOT + 'media/'
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATIC_ROOT = APP_ROOT + STATIC_URL
MEDIA_ROOT = STATIC_ROOT + 'media/'
```
### Access control

You can control editing access by implementing `is_editable_by` method
on your collection model such as:
```python
def is_editable_by(self, user):
if user.pk == self.user_id or user.is_staff:
return True
return False
def is_editable_by(self, user):
if user.pk == self.user_id or user.is_staff:
return True
return False
```
The above ensures that a collection is only editable by its user and
staff.

0 comments on commit f2bee50

Please sign in to comment.