diff --git a/app/templates/texts.html b/app/templates/texts.html
index 02897aa..4b9bd77 100644
--- a/app/templates/texts.html
+++ b/app/templates/texts.html
@@ -3,10 +3,17 @@
{% block main %}
- {% for text in texts %}
-
+ {% for text in en_texts %}
+
{{ text.byline|striptags }}
{% endfor %}
+ {% for text in zh_texts %}
+
+
+
{{ text.byline|striptags }}
+
+ {% endfor %}
+
{% endblock %}
diff --git a/app/text/admin.py b/app/text/admin.py
index 00a8b9f..aed4364 100644
--- a/app/text/admin.py
+++ b/app/text/admin.py
@@ -9,11 +9,12 @@ class TextAdmin(admin.ModelAdmin):
'__str__',
'item',
'edit',
+ 'language',
'slug',
'public',
'position',
)
-
+ list_editable = ['public', 'language']
def item(self, obj):
return obj.data.get('item')
def edit(self, obj):
diff --git a/app/text/migrations/0008_auto_20211028_1007.py b/app/text/migrations/0008_auto_20211028_1007.py
new file mode 100644
index 0000000..638b0c6
--- /dev/null
+++ b/app/text/migrations/0008_auto_20211028_1007.py
@@ -0,0 +1,23 @@
+# Generated by Django 3.2.7 on 2021-10-28 10:07
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('text', '0007_text_annotations'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='text',
+ name='language',
+ field=models.CharField(choices=[('en', 'EN'), ('zh', 'ZH')], default='en', max_length=8),
+ ),
+ migrations.AlterField(
+ model_name='text',
+ name='annotations',
+ field=models.JSONField(blank=True, default=dict, editable=False),
+ ),
+ ]
diff --git a/app/text/models.py b/app/text/models.py
index f61238e..c28d7ea 100644
--- a/app/text/models.py
+++ b/app/text/models.py
@@ -32,14 +32,19 @@ class Page(models.Model):
return '/' + settings.URL_PREFIX[:-1]
+LANGUAGE_CHOICES = (
+ ('en', 'EN'),
+ ('zh', 'ZH'),
+)
+
class Text(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
-
+ language = models.CharField(choices=LANGUAGE_CHOICES, max_length=8, default='en')
slug = models.SlugField()
public = models.BooleanField(default=False)
position = models.IntegerField(default=0)
-
+
title = models.TextField()
byline = models.TextField(default="", blank=True)
body = models.TextField(default="", blank=True)
diff --git a/app/text/views.py b/app/text/views.py
index f6c14d8..23217de 100755
--- a/app/text/views.py
+++ b/app/text/views.py
@@ -36,7 +36,9 @@ def about(request):
def texts(request):
context = {}
- context['texts'] = models.Text.objects.filter(public=True).order_by('position', 'created')
+ all_texts = models.Text.objects.filter(public=True).order_by('position', 'created')
+ context['en_texts'] = all_texts.filter(language='en')
+ context['zh_texts'] = all_texts.filter(language='zh')
return render(request, 'texts.html', context)
def text(request, slug):