Self-hostable blog for developers built on Wagtail and Django, with webpack, Bootstrap, and CodeMirror.
blogbootstrapdjangodockerhandcodedpythonself-hostedwagtailwebpack
1# Generated by Django 4.0.5 on 2022-06-26 00:24
2
3from django.db import migrations, models
4import django.db.models.deletion
5import wagtail.blocks
6import wagtail.contrib.routable_page.models
7import wagtail.embeds.blocks
8import wagtail.fields
9import wagtail.images.blocks
10
11
12class Migration(migrations.Migration):
13
14 dependencies = [
15 ('wagtailimages', '0024_index_image_file_hash'),
16 ('wagtailcore', '0069_log_entry_jsonfield'),
17 ('pages', '0006_alter_blogpostpage_options'),
18 ]
19
20 operations = [
21 migrations.CreateModel(
22 name='NewsletterPage',
23 fields=[
24 ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
25 ('body', wagtail.fields.StreamField([('rich_text', wagtail.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('code', wagtail.blocks.StructBlock([('language', wagtail.blocks.ChoiceBlock(choices=[('python', 'Python'), ('javascript', 'Javascript'), ('htmlmixed', 'HTML'), ('css', 'CSS'), ('shell', 'Shell')])), ('text', wagtail.blocks.TextBlock())])), ('embed', wagtail.embeds.blocks.EmbedBlock())], blank=True, use_json_field=True)),
26 ('cover_image', models.ForeignKey(blank=True, help_text='Cover image for this page, used in listings and at the top of the page.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.image')),
27 ],
28 options={
29 'verbose_name': 'Newsletter Page',
30 'verbose_name_plural': 'Newsletter Pages',
31 },
32 bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'wagtailcore.page'),
33 ),
34 ]