mirror of
https://github.com/lemeow125/Django-NotesApp.git
synced 2024-11-17 06:29:25 +08:00
commit
dbb55fff06
16 changed files with 106 additions and 4 deletions
0
project/accounts/__init__.py
Normal file
0
project/accounts/__init__.py
Normal file
3
project/accounts/admin.py
Normal file
3
project/accounts/admin.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
from django.contrib import admin
|
||||||
|
|
||||||
|
# Register your models here.
|
6
project/accounts/apps.py
Normal file
6
project/accounts/apps.py
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
|
||||||
|
class AccountsConfig(AppConfig):
|
||||||
|
default_auto_field = 'django.db.models.BigAutoField'
|
||||||
|
name = 'accounts'
|
0
project/accounts/migrations/__init__.py
Normal file
0
project/accounts/migrations/__init__.py
Normal file
3
project/accounts/models.py
Normal file
3
project/accounts/models.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
|
# Create your models here.
|
3
project/accounts/tests.py
Normal file
3
project/accounts/tests.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
# Create your tests here.
|
6
project/accounts/urls.py
Normal file
6
project/accounts/urls.py
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
from django.urls import path, include
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
path('', include('djoser.urls')),
|
||||||
|
path('', include('djoser.urls.authtoken')),
|
||||||
|
]
|
3
project/accounts/views.py
Normal file
3
project/accounts/views.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
from django.shortcuts import render
|
||||||
|
|
||||||
|
# Create your views here.
|
|
@ -2,5 +2,6 @@ from django.contrib import admin
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('api/v1/', include('notes.urls'))
|
path('', include('notes.urls')),
|
||||||
|
path('accounts/', include('accounts.urls')),
|
||||||
]
|
]
|
||||||
|
|
|
@ -38,8 +38,10 @@ INSTALLED_APPS = [
|
||||||
'django.contrib.messages',
|
'django.contrib.messages',
|
||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
'rest_framework',
|
'rest_framework',
|
||||||
|
'rest_framework.authtoken',
|
||||||
'notes.apps.NotesConfig',
|
'notes.apps.NotesConfig',
|
||||||
'corsheaders'
|
'corsheaders',
|
||||||
|
'djoser'
|
||||||
]
|
]
|
||||||
|
|
||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
|
@ -130,3 +132,23 @@ CORS_ALLOWED_ORIGINS = [
|
||||||
"http://localhost:3000",
|
"http://localhost:3000",
|
||||||
"http://localhost:8000",
|
"http://localhost:8000",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
REST_FRAMEWORK = {
|
||||||
|
'DEFAULT_AUTHENTICATION_CLASSES': (
|
||||||
|
'rest_framework.authentication.TokenAuthentication',
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
DOMAIN = 'localhost:3000'
|
||||||
|
SITE_NAME = 'localhost:3000'
|
||||||
|
|
||||||
|
DJOSER = {
|
||||||
|
'SEND_ACTIVATION_EMAIL': True,
|
||||||
|
'SEND_CONFIRMATION_EMAIL': True,
|
||||||
|
'ACTIVATION_URL': 'activation/{uid}/{token}',
|
||||||
|
}
|
||||||
|
|
||||||
|
EMAIL_HOST = 'sandbox.smtp.mailtrap.io'
|
||||||
|
EMAIL_HOST_USER = '54ff6949e39105'
|
||||||
|
EMAIL_HOST_PASSWORD = 'c59d3eaa05f98d'
|
||||||
|
EMAIL_PORT = '2525'
|
||||||
|
|
|
@ -18,5 +18,5 @@ from django.urls import path, include
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
path('', include('api.urls'))
|
path('api/v1/', include('api.urls'))
|
||||||
]
|
]
|
||||||
|
|
Binary file not shown.
39
project/notes/migrations/0004_historicalnote.py
Normal file
39
project/notes/migrations/0004_historicalnote.py
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
# Generated by Django 4.1.7 on 2023-02-24 08:29
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import django.utils.timezone
|
||||||
|
import simple_history.models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
('notes', '0003_alter_note_content'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='HistoricalNote',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigIntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
|
||||||
|
('title', models.CharField(max_length=20)),
|
||||||
|
('content', models.CharField(max_length=1024)),
|
||||||
|
('date_created', models.DateTimeField(default=django.utils.timezone.now, editable=False)),
|
||||||
|
('history_id', models.AutoField(primary_key=True, serialize=False)),
|
||||||
|
('history_date', models.DateTimeField(db_index=True)),
|
||||||
|
('history_change_reason', models.CharField(max_length=100, null=True)),
|
||||||
|
('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
|
||||||
|
('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'historical note',
|
||||||
|
'verbose_name_plural': 'historical notes',
|
||||||
|
'ordering': ('-history_date', '-history_id'),
|
||||||
|
'get_latest_by': ('history_date', 'history_id'),
|
||||||
|
},
|
||||||
|
bases=(simple_history.models.HistoricalChanges, models.Model),
|
||||||
|
),
|
||||||
|
]
|
16
project/notes/migrations/0005_delete_historicalnote.py
Normal file
16
project/notes/migrations/0005_delete_historicalnote.py
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# Generated by Django 4.1.7 on 2023-02-24 08:53
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('notes', '0004_historicalnote'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.DeleteModel(
|
||||||
|
name='HistoricalNote',
|
||||||
|
),
|
||||||
|
]
|
|
@ -5,4 +5,4 @@ from .models import Note
|
||||||
class NoteSerializer(serializers.HyperlinkedModelSerializer):
|
class NoteSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Note
|
model = Note
|
||||||
fields = ('id', 'title', 'content')
|
fields = ('id', 'title', 'content', 'date_created')
|
||||||
|
|
BIN
project/requirements.txt
Normal file
BIN
project/requirements.txt
Normal file
Binary file not shown.
Loading…
Reference in a new issue