Update example project

main
Jaap Joris Vens 2020-03-24 22:14:33 +01:00
parent 96ce4c4ac3
commit be39b3fcaa
8 changed files with 26 additions and 79 deletions

View File

@ -1,66 +0,0 @@
# Generated by Django 3.0.2 on 2020-03-22 15:45
import cms.models
from django.db import migrations, models
import django.db.models.deletion
import embed_video.fields
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Page',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', cms.models.VarCharField(verbose_name='page')),
('slug', models.SlugField(blank=True, unique=True, verbose_name='slug')),
('number', models.PositiveIntegerField(blank=True, verbose_name='number')),
('menu', models.BooleanField(default=True, verbose_name='visible in menu')),
],
options={
'verbose_name': 'Page',
'verbose_name_plural': 'Pages',
'ordering': ['number'],
'abstract': False,
},
bases=(cms.models.Numbered, models.Model),
),
migrations.CreateModel(
name='Section',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', cms.models.VarCharField(verbose_name='section')),
('type', cms.models.VarCharField(verbose_name='type')),
('number', models.PositiveIntegerField(blank=True, verbose_name='number')),
('content', models.TextField(blank=True, verbose_name='content')),
('image', models.ImageField(blank=True, upload_to='', verbose_name='image')),
('video', embed_video.fields.EmbedVideoField(blank=True, help_text='Paste a YouTube, Vimeo, or SoundCloud link', verbose_name='video')),
('href', cms.models.VarCharField(blank=True, verbose_name='link')),
('page', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='sections', to='example.Page', verbose_name='page')),
],
options={
'verbose_name': 'section',
'verbose_name_plural': 'sections',
'ordering': ['number'],
'abstract': False,
},
bases=(cms.models.Numbered, models.Model),
),
migrations.CreateModel(
name='SectionImage',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('image', models.ImageField(upload_to='', verbose_name='Image')),
('section', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='example.Section')),
],
options={
'ordering': ['pk'],
},
),
]

View File

@ -19,6 +19,7 @@ STATIC_ROOT = '/srv/' + PROJECT_NAME + '/static'
MEDIA_URL = '/media/'
MEDIA_ROOT = '/srv/' + PROJECT_NAME + '/media'
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'
if DEBUG:
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

View File

@ -49,18 +49,29 @@ h2 { font-size: 1.5em }
h3 { font-size: 1.25em }
h4, h5, h6 { font-size: 1em }
a.edit {
color: red;
text-decoration: none;
font-size: 1rem;
font-weight: normal;
&:before { content: '[ ' }
&:after { content: ' ]' }
a.page.edit {
position: fixed;
right: 1em;
bottom: 1em;
z-index: 1000;
img {
display: block;
width: 75px;
height: auto;
}
}
section a.edit {
a.section.edit {
position: absolute;
bottom: 0;
left: 1em;
right: 0;
img {
display: block;
width: 35px;
}
}
// Will be supported in the near future! :)
section:has(> a.edit) {
background: #eee;
}
table {

View File

@ -16,5 +16,5 @@
</div>
</div>
{% edit %}
{% editsection '<img src="/static/cms/edit.png">' %}
</section>

View File

@ -9,5 +9,5 @@
{% endfor %}
</div>
{% edit %}
{% editsection '<img src="/static/cms/edit.png">' %}
</section>

View File

@ -13,5 +13,5 @@
</div>
</div>
{% edit %}
{% editsection '<img src="/static/cms/edit.png">' %}
</section>

View File

@ -9,5 +9,5 @@
</div>
{% endif %}
{% edit %}
{% editsection '<img src="/static/cms/edit.png">' %}
</section>

View File

@ -12,5 +12,6 @@ urlpatterns += [
path('admin/', admin.site.urls),
path('accounts/', include('django.contrib.auth.urls')),
path('login/', RedirectView.as_view(url='/accounts/login/')),
path('logout/', RedirectView.as_view(url='/accounts/logout/')),
path('', include('cms.urls', namespace='cms')),
]