首页 > 其他 > 详细

django学习笔记

时间:2019-04-12 20:44:36      阅读:155      评论:0      收藏:0      [点我收藏+]

Github项目地址:

https://github.com/pirigg/-django-

我使用的是win10的开发系统,在提前装好了virtualenv之后(鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper),在命令提示符中创建了python虚拟环境:

 

python -m venv py37-django2.1.7-env
cd py37-django2.1.7-env\scripts
activate
pip install django==2.1.7
python -m pip install --upgrade pip
cd ..
django-admin startproject ourblog  
cd myblog
python manage.py runserver

 

这样就在虚拟环境下创建了一个django项目。

接下来进入到我的编辑器(Atom),用编辑器的终端(安装了插件)进入ourblog路径。

为了让django实现我要的功能,在和manage.py的同级中,创建app项目(blog),并在里面创建了templates(存放HTML文件)和static文档(存放HTML需要的静态文件)

实现后大体的项目目录如下(由于提前运行过,自动生成了.history和db.sqlite3文件夹,admin.py是为了管理自己添加的文件)

技术分享图片

在setting.py文件的加入了创建的app和templates路径

技术分享图片

技术分享图片

然后根据django标准的MTV模型流程。

在提前准备做好的HTML界面(做了一个首页和一个文章详情)后,

在models里创建Article和Comment两个class,其中Article里有文章标题和内容,Comment里有评论者和评论内容,将评论内容用models.ForeignKey指向文章

在终端中输入

python manage.py makemigrations
python manage.py migrate

通过django内置数据库自动创建数据表(每次改动Models都要重新)

然后由于两个页面各有需求,在Views中创建一个索引文章详情页的函数index和一个在文章详情页中可以保存评论的函数detail。

然后在urls文件在引用它们(没有在blog的app中创建本地urls文件,因为目前功能较少)

技术分享图片

因为在detail函数中要用到文章编号page_num参数,所以用url(r‘^detail/(?P<page_num>\d+)$‘, detail, name="detail")

 

然后回到的HTML文件,在开头加上{% load staticfiles %}或{% load static %},把内容里里面的引用替换为静态标记。

如:<link rel="stylesheet" href="../static/css/semantic.css‘ %}"

替换为<link rel="stylesheet" href="{% static ‘css/semantic.css‘ %}"

还有将文章标题和内容替换为{{article.headline}}和{{ article.content }}等等

 

我还创建了一个admin.py文件并给它设置了权限

from django.contrib import admin
from blog.models import Article, Comment
# Register your models here.
admin.site.register(Article)
admin.site.register(Comment)

保存后在终端创建超级账号以便管理

python3 manage.py createsuperuser

 这样就创建了一个简单的论坛网站。。


 

实现分页功能:

from django.core.paginator import Paginator

...

page_robot = Paginator(vids_list, 9)            #9个一页
vids_list = page_robot.page(request.GET.get(‘page‘))    

...

django学习笔记

原文:https://www.cnblogs.com/pirigg/p/10698306.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!