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

来源:互联网 发布:手机淘宝信誉度怎么看 编辑:程序博客网 时间:2024/05/18 13:31

(一)创建数据库

现将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 modelsclass 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 makemigrationspython 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,includefrom . import  viewsurlpatterns = [    url(r'^index/$', views.index),    ]
在myblog下的urls.py中引入上面的urls.py

from django.conf.urls import url,includefrom django.contrib import adminurlpatterns = [    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 renderfrom  . import  modelsdef 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,includefrom . import  viewsurlpatterns = [    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>


打包代码:

点击打开链接











阅读全文
2 0
原创粉丝点击