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

(一)创建数据库

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


打包代码:

点击打开链接











  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值