djangoブログの開発で遭遇したいくつかの小さな機能
トップ機能付きポケットベル
すべての記事のQuerySetを直接クエリし、時間を追加して逆の順序で並べ替え、ポケットベルを直接入力します。このように貼り付け機能はありません。
- 事前にis_commendの上位の記事を除外し、デバイスが追加された時刻を2099に設定してから、時系列の逆順に並べ替えます。ただし、前回の表示時間が問題になっています。共同クエリを試行しましたが、達成できませんでした。
- 更新時間フィールドを直接追加し、固定された記事の更新時間を表示しました。
- 欠陥を解決し、後の改善を待ちます。
シンプル
Djangoの背景をすばやくカスタマイズする
-
インストール
pip install django-simpleui
-
使用する
# settings.py中注册simpleui INSTALLED_APPS = [ 'simpleui', # 必须在第一个 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', 'mdeditor', ]
makemigrationsを実行します
移行する
-
背景にアクセスして効果を確認してください
mdeditor
背景入力ボックスはリッチテキストエディタです
-
インストール
pip install django-mdeditor
-
使用する
simpleuiをsettings.pyに登録します
# settings.py中注册mdeditor INSTALLED_APPS = [ 'simpleui', # 必须在第一个 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', 'mdeditor', ]
models.pyにインポートします
from mdeditor.fields import MDTextField
テーブルサブセクション
content = MDTextField(verbose_name='文章内容') # 富文本编辑框,要在models中注册mdeditor
-
訪問するだけ
ミスチューン
フロントエンドレンダリングMarkdownテキストエディタ
-
インストール
pip install mistune
-
使用する
view.pyでのテンプレートレンダリング
class ArticleView(View): def get(self, request, article_id=None): article = models.Article.objects.get(pk=article_id) article.viewed() # 增加阅读数 mk = mistune.Markdown() output = mk(article.content) # 文章分类 categories = models.Category.objects.all() return render(request, 'datail.html', { 'article': article, 'detail_html': output, 'categories': categories,})