您的位置:首页 > 编程语言 > Go语言

Django编写第一个博客学习笔记(二)

2017-07-11 12:30 561 查看
(一)创建数据库

现将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>


将html与数据集绑定,在views.py 下编写

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>


打包代码:

点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: