django小結

#三步來實現模型的變動:html

  1. 修改你的模型(在models.py中)。
  2. 運行python manage.py makemigrations 來爲這些修改建立遷移文件
  3. 運行python manage.py migrate 以運用這些改變到數據庫中。

#安裝及啓動apppython

  1. 安裝django
pip install django
  1. 建立project
django-admin startproject myblog
  1. 建立app
python manage.py startapp app
  1. 建立model
class Article(models.Model):
   class Meta:
       verbose_name = '微讀書' #提供了一個更容易讓人閱讀的名稱
       verbose_name_plural = '微讀書' #複數形式
    title = models.CharField(max_length=30)
    content = models.TextField()
    pub_date = models.DateTimeField()
  1. 安裝app
INSTALLED_APPS = (
       ...
       'app',
   )
  1. 註冊到admin.py
admin.site.register(Article)
  1. 建立管理員
python manage.py createsuperuser
python manage.py syncdb  #應用到數據庫
  1. 應用到數據庫
python manage.py makemigrations
python manage.py migrate
  1. 啓動project
python manage.py runserver

#引入bootstrap數據庫

  1. 安裝bootstrap
pip install django-admin-bootstrapped
  1. 修改setting.py
INSTALLED_APPS = (
    'django_admin_bootstrapped', #必須在django.contrib.admin以前
    'django.contrib.admin',
    ...
)

#引入markdowndjango

  1. 安裝markdown
pip install markdown
  1. view修改
from markdown import markdown
def detail(request, id):
    article = models.Article.objects.get(id__exact=id)
    article.content = markdown(article.content)
    return render(request, 'template/detail.html', {'article': article})
  1. 模板修改
{{ article.content|safe }}

#model導出爲jsonjson

def toJSON(self):
        fields = []
        for field in self._meta.fields:
            fields.append(field.name)

        d = {}
        for attr in fields:
            if isinstance(getattr(self, attr),datetime.datetime):
                d[attr] = getattr(self, attr).strftime('%Y-%m-%d %H:%M:%S')
            elif isinstance(getattr(self, attr),datetime.date):
                d[attr] = getattr(self, attr).strftime('%Y-%m-%d')
            else:
                d[attr] = getattr(self, attr)

        import json
        return json.dumps(d)
相關文章
相關標籤/搜索