赞
踩
一.创建工程
1. django-admin startproject myblog 创建myblog 工程
2.cd myblog,打开工程目录,执行Python manage.py runserver,启动服务器
默认端口号8000,可以通过Python manage.py runserver xxxx改变端口号
访问服务器,出现It worked页面,则工程创建成功
其中, myblog目录是项目的容器
二.创建APP
1.在myblog目录下,执行Python manage.py startapp blog
2.在setting.py中的INSTALLED_APPS里添加应用名称
3.用PyCharm 打开创建的工程(关于PyCharm 环境配置会在后面说明)
三.实现简单的HelloWorld作为Test
1.配置app目录下的view.py,写入HelloWorld业务代码
- from django.shortcuts import render
- from django.http import HttpResponse
-
- def index(request):
- return HttpResponse('Hello,world')
2.配置工程目录下的urls.py
- from django.conf.urls import url
- from django.contrib import admin
- import blog.views as bv
-
- urlpatterns = [
- url(r'^admin/', admin.site.urls),
- url(r'^index/', bv.index),
- ]
3.Pycharm中点击Run
访问对应url,即可得到经典的HelloWorld
四.关于URL的配置进一步说明
如果所有APP下的view.py里面的响应函数都一条一条的配置到工程目录下的urls.py的urlpatterns列表中,
列表过于庞大,不同开发人员的不同APP名字还可能有冲突,不利于维护。可以在每个APP目录下建一个urls.py
文件,再在工程目录下引入路径,工程目录下的是总路径,APP目录下是子路径
APP目录下新建的urls.py代码如下:
- from django.conf.urls import url
- from django.contrib import admin
- from . import views
-
-
- urlpatterns = [
- url(r'^admin/', admin.site.urls),
- url(r'^', views.index),
- ]
- 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')),
http://127.0.0.1:8000/blog/
五.创建templates目录
templates中包含有HTML文件,默认使用Django模板语言(Django Template languages,DTL)
1.在APP目录下创建 templates,在该目录下在创建一个blog文件夹,再在该目录下创建HTML文件
创建blog文件夹是因为不同APP的templates目录的相同名字HTML文件会冲突
2.编辑views.py
- from django.shortcuts import render
- from django.http import HttpResponse
-
- def index(request):
- return render(request, 'blog/index.html', {'key': 'Hello,World!'})
3.编辑index.html文件,将render的key值导入
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- </head>
- <body>
- <h1>{{ key}}</h1>
- </body>
- </html>
Model对应数据库的一张表,Django中Models以类的形式表现(ORM 对象关系映射)
编写Models的步骤
1.编辑APP目录下的models.py文件,创建字段
- from __future__ import unicode_literals
-
- from django.db import models
- class Article(models.Model):
- title = models.CharField(max_length=32,default='Title')
- content = models.TextField(null=True)
2.创建数据库
(1)打开命令行,在工程目录运行
Python manage.py makemigrations blog 创建model
python manage.py migrate实现迁移
(2)用SQLite Expert Persenal打开myblog 文件夹下的db.sqlite3数据库
找到blog.article标签 ,选中Data,就看到刚才models.py文件里编辑的title和content字段
由于没有指定主键,默认生成主键id
编辑table,如下
(3)编辑view.py文件
- from django.shortcuts import render
- from django.http import HttpResponse
- from .import models
-
- def index(request):
- aticle = models.Article.objects.get(pk=1)
- return render(request, 'blog/index.html', {'key': aticle})
(4)编辑templates/blog目录下的index.html文件
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- </head>
- <body>
- <h1>{{ key.title}}</h1>
- <h3>{{ key.content}}</h3>
- </body>
- </html>
八.关于Admin
1.Admin概述
Admin 是Django自带的一个强大的自动化数据管理界面,
被授权用户可以直接在Admin中管理数据库
Django提供了许多针对Admin的定制功能
2.配置admin
工程目录下输入 Python manage.py createsuperuser,按照创建用户
3.地址栏输入127.0.0.1:8000/admin
4.在setting.py中配置LANGYAGS_OCDE=‘zh_Hans’,界面就会变成中文
5.在admin.py中引入自身的models模块
- from django.contrib import admin
- from models import Article
-
- admin.site.register(Article)
刷新页面,进入可以看见之前数据库添加的标题Hello以及内容HelloWorld
再次创建一个博文,发现博文的名字全是默认值,Article object
编辑models.py文件
- from __future__ import unicode_literals
-
- from django.db import models
- class Article(models.Model):
- title = models.CharField(max_length=32,default='Title')
- content = models.TextField(null=True)
-
- def __unicode__(self):
- return self.title
保存代码并刷新页面
可以看到博客的雏形已经有了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。