[Django 2]第一个django应用

时间:2022-12-12 22:47:15

1)增加应用

python3 manage.py startapp app-name

[Django 2]第一个django应用

2. settings.py中,“INSTALLED_APPS”添加应用名称。

3. 在templates中新增网页index.html

4. view中,

def index(request):
return render(request, 'index.html')

5. urls.py中,

from ganji.views import index

url(r'^index/', index),

6. html中的静态文件,首先增加static目录,与templates同级,html中使用

{% load static %}
href="{% static 'homework.css' %}"

7. settings.py中

STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),) # 这个必须有,要不然Django是找不到文件夹的位置的 

8. python3 manage.py runserver

2)新增数据库模型

django 1.7 新的migration框架,取代south

  • makemigrations,用来根据你对模型做的变更创建新的迁移脚本。
  • migrate,用来使迁移生效,以及未生效时报告它们的状态。

定义博客的数据库模型

我们网站的CMS已经做好了,现在要定义我们自己的模型。

easyblog/models.py

from django.db import models
from django.contrib import admin class BlogPost(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
timestamp = models.DateTimeField() admin.site.register(BlogPost)

 上面的代码帮我们定义了一个简单的数据内容。现在我们要让数据库发生变化。执行以下命令

python3 manage.py makemigrations pure_layout_blog
qiongyazhudembp:mysite qiongyanzhu$ python3 manage.py makemigrations pure_layout_blog
System check identified some issues: Migrations for 'pure_layout_blog':
0003_auto_20160622_1323.py:
- Create model BlogPosts
- Create model BlogUsers
- Delete model BlogBody
- Delete model BlogPost
- Delete model UserInfo
- Alter index_together for blogusers (2 constraint(s))
- Add field post_author to blogposts
- Add field post_parent to blogposts
- Alter index_together for blogposts (3 constraint(s))
qiongyazhudembp:mysite qiongyanzhu$ python3 manage.py makemigrations pure_layout_blog
Migrations for 'pure_layout_blog':
0004_auto_20160622_1326.py:
- Alter field comment_count on blogposts
- Alter field menu_order on blogposts
- Alter field user_status on blogusers
qiongyazhudembp:mysite qiongyanzhu$
python3 manage.py sqlmigrate pure_layout_blog 0001
python3 manage.py migrate

按顺序执行命令,就会把我们新增的models生成。这个时候进入CMS就可以看到多了一个group,在里面输入标题,内容和时间,保存即可。