(一)创建数据库
现将app绑定到服务器上,在setting.py中找到installed_apps,加入blog
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog'
]
在blog 文件下的models.py 内创建数据库
from django.db import models class Article(models.Model): title=models.CharField(max_length=32,default='Title') content=models.TextField(null=True) def __str__(self): return self.title
(二)将数据库绑定到程序中
python manage.py makemigrations
python manage.py migrate
(三)admin操作数据库
python manage.py createsuperuser admin
输入邮箱和密码
然后
python manage.py runserver
访问 127.0.0.1/admin
就可以进行数据库操作
如果想让数据为中文显示,则需在setting.py中修改language_code='zh_hans'
(四)编写主页面
在blog下的urls.py中绑定页面url
from django.conf.urls import url,include
from . import views
urlpatterns = [
url(r'^index/$', views.index),
]
在myblog下的urls.py中引入上面的urls.py
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^blog/',include('blog.urls',namespace='blog')),
]
创建templates文件夹,在里面创建blog文件夹,在里面创建index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
<h1><a href="">新文章</a></h1>
{% for article in articles %}
<h1><a href="">{{article.title}}</a></h1>
<!--<h1><a href="">{{article.content}}</a></h1>-->
<br>
{% endfor %}
</body>
</html>
在views.py中写
from django.shortcuts import render
from . import models
def index(request):
articles=models.Article.objects.all()
return render(request,'blog/index.html',{'articles':articles})
(五)编写具体页面
创建在templates/blog 目录下article_page.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>$Title$</title>
</head>
<body>
<h1>{{article.title}}</h1>
<br>
<h3>{{article.content}}</h3>
<br>
<a href="">修改文章</a>
</body>
</html>
def article_page(request,article_id):
article=models.Article.objects.get(pk=article_id)
return render(request,'blog/article_page.html',{'article':article})
绑定url,在urls.py
from django.conf.urls import url,include
from . import views
urlpatterns = [
url(r'^index/$', views.index),
url(r'^article/(?P<article_id>[0-9]+)$', views.article_page, name='article_page'),
]
(六)index页面跳转到article_page页面
在如上面代码,在blog文件下的urls.py的第二个url中加入name=‘article_page’,在myblog文件下的urls.py的第二个url中加入namespace='blog'
然后在index.html的href中加入如下代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
<h1><a href="">新文章</a></h1>
{% for article in articles %}
<h1><a href="{% url 'blog:article_page' article.id %}">{{article.title}}</a></h1>
<!--<h1><a href="">{{article.content}}</a></h1>-->
<br>
{% endfor %}
</body>
</html>
打包代码: