[Django 2]第一个django应用
1)增加应用
python3 manage.py startapp app-name
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,在里面输入标题,内容和时间,保存即可。