Django入门与实践应用,Python制作个人博客网站。Django是Python的高级Web框架,功能非常强大,但是你也不要被它给吓到了,其实Django搭建Web应用也非常简单,下面让小编以学习及分享的态度给大家讲一个Django入门的web应用,带你进入Python的网站开发。该项目(Django-myblog)我已经放到github上,由于百家号不让贴URL,如果想下载看看可以搜索我的博客(雷小天博客)通过里面的github地址找到项目,当然如果你是高手请绕道。
开发环境
1.Python2.Django3.编辑器
搭建环境
Python一般在系统里面有默认的,不需要安装。当然如果你想升级Python3.x话也是可以的,但是Django同时支持2.x和3.x,为减少不必要的麻烦,建议使用默认的版本即可。
Django的安装,可以使用pip install Django==2.0(为什么我要选2.0版,因为我python是3.7.0版),也可以使用源码安装,从GitHub下载源码,然后通过python setup.py install安装。不同的Django对应不同的python版本,下面是Django官网版本对应参考。What Python version can I use with Django?Django version Python versions1.11 2.7, 3.4, 3.5, 3.6, 3.7 (added in 1.11.17)2.0 3.4, 3.5, 3.6, 3.72.1, 2.2 3.5, 3.6, 3.7
编辑器Pycharm(推荐)EclipseSublime TextAtom
创建项目
diango-admin startproject myblog
运行项目
先切换到myblog文件夹,输入以下命令运行项目F:\github-project\myblog>python manage.py runserverPerforming system checks...
System check identified no issues (0 silenced).
You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.Run 'python manage.py migrate' to apply them.December 27, 2018 - 00:17:11Django version 2.0, using settings 'myblog.settings'Starting development server at 127.0.0.1:8000/Quit the server with CTRL-BREAK.
浏览器输入:127.0.0.1:8000
开发步骤
生成数据表1.命令行进入manage.py同级目录 2.执行python manage.py makemigrations app名(可选,不选创建全部)3.再执行python manage.py migrate (生成移植文件Django-myblog\blog\migrations\0001_initial.py)
查看生成表的SQL语句1.命令行进入manage.py同级目录2.执行python manage.py sqlmigrate app名 文件ID(python manage.py sqlmigrate blog 0001)
打开数据库编辑文章数据 下载:sqlite expert personal或者用其他的数据管理软件,能管理sqlite3即可
取出数据views.py编写:
from . import models article=models.Article.objects.get(pk=1)#传递article对象 return render(request, 'blog/index.html',{'article':article})
template/blog/index.html编写:
admin创建超级用户1.命令行进入manage.py同级目录2.执行python manage.py createsuperuser (回车)3.username:admin4.Password:100txycom5.127.0.0.1:8000/admin/ #登录后台6.设置中文LANGUAGE_CODE = 'zh_Hans'
配置admin应用1.在应用下admin.py中引入自身的models模块(或里面模型的类)2.编辑admin.py:admin.site.register(models.Article)3.在blog/admin.py编辑
from django.contrib import admin
from .models import Article
admin.site.register(Article)
admin后台
修改Article显示的标题1.python3添加__str__(self)或__unicode_(self)2.return self.title