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

xiaoxiao2021-02-28  53

(一)创建数据库

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

打包代码:

点击打开链接

转载请注明原文地址: https://www.6miu.com/read-59533.html

最新回复(0)