Chi's blog

ページネーション機能の追加 [Django]

条件

MyBlogというモデルから定義されたテーブルにブログ文章データがあるとします。

@python_2_unicode_compatible
class MyBlog(models.Model):
    title = models.CharField(max_length=255)
    body = MarkdownxField()
    author = models.ForeignKey(User, null=True)
    publishing_date = models.DateTimeField(aut...
                            
                        
続きを読む

Error Pageを追加する方法 : [Django]

背景

サーバーにWebページをrequestした際に、ネットワーク状況、ページの捜査権限、ページの有無など色んな状況により、ページデータではなく、エラーを返すことがあります。

典型的なのは以下のようなものがあります。

エラーコード  説明
  404           requestしたページが存在しない
  403           該当ページへの権限がない
  500           サーバー側の処理中問題が発生

実際にこのようなエラーが発生した時は、エラー情報を表示...

続きを読む

AttributeError: 'int' object has no attribute 'encode' error : [ Django]

問題点

Djangoで以下のようにモデルを定義し、使っていたらある時から変なエラーが出ていました。

@python_2_unicode_compatible
class Genres(models.Model):
    gid = models.AutoField(primary_key=True)
    gname = models.CharField(max_length=50)

    def __str__(self):
        return self.gid

templa...

続きを読む


'Access-Control-Allow-Origin' Error in Django REST Framework [Django]

問題点

Django rest frameworkを使ってweb apiを叩く時に

No 'Access-Control-Allow-Origin' header is present on the requested resource.

問題に遭いました。

このエラーは, domainを跨るAPIを叩く時によく会う問題で珍しくありません。(特にchromeの場合、厳しい)

普通は、apache2などのサーバー側のサイト設定ファイルで以下を追加することで解決できま...

続きを読む

Django ProjectのHTTPSサーバー設定: Let's Encrypt [Django]

背景

二番目のDjango project作成中です。今回は, Django REST frameworkを使って、バックアンド、フロントエンドの完全分離実装, sslによるhttps通信を可能にするなど新しいことに挑戦しながら、進めています。

今回は、ネット上に様々な方からすでに情報共有されていましたが、

  1. Django projectへの設定方法はない
  2. 最近は結構設定しやすくなっているらしいが、そ...
続きを読む

Views.pyで処理した後元のページへ戻る方法 [Django]

View.pyのviewからpost requestを受けて、処理した後、元のページに戻りたい時があります。

例えば、あるページからログインし、そのページに留まる場合です。

class base viewの場合、classの戻り値として、以下を指定するだけでOK.

return redirect(request.META['HTTP_REFERER'])
続きを読む