Django入门实践

推荐工具:

Python工具:PyCharm

数据库查看工具:Navicat

一、创建项目

创建步骤

打开命令行,进入想要安置项目的目录
命令行输入:

djingo-admin startproject myblog

在命令行输入以下指令来启动服务器:

python manage.py runserver

启动服务器,默认地址为:http://127.0.0.1:8000

二、创建应用

创建步骤

打开,命令行,进入项目manage.py的同级目录
创建一个名为blog的应用(APP)
在命令行输入:

python manage.py startapp blog

创建完成后,将应用名添加到settings.py 中的INSTALLED_APPS中
如下:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog'
]

三、创建第一个响应

编辑blog.views
例如:

from __future__ import unicode_literals
from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse('hello world!')

配置URL(此方法不是最优方法)

from django.conf.urls import url
from django.contrib import admin
from blog import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^blog/', views.index),
]

总结:
每个响应对应一个函数,函数必须返回一个相应
函数必须存在一个参数,一般约定为request
每一个响应对应一个URL

四、配置URL(常用方法)

一、在myblog下的urls增加include方法
/myblog/urls.py

from django.conf.urls import url,include
from django.contrib import admin
from blog import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^blog/', include('blog.urls')),
]

二、在应用APP下创建一个文件,名字为urls.py 将两者关联(目的是实现每个应用维护各自的urls 以免项目过大,urls不好维护)

/blog/urls.py

from django.conf.urls import url
from django.contrib import admin
import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', views.index),
]

总结:
在url.py 中引入include
在APP目录下 创建 urls.py文件,格式与根urls.py相同
根urls.py中url 函数第二个参数改为 include(‘blog.urls’)

五、第一个Templates(HTML文件)

在APP的根目录下创建Templates目录
在该目录下创建HTML文件

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<h1> Hello blog!</h1>

</body>
</html>

修改view.py文件

from __future__ import unicode_literals
from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return render(request,'index.html')

解决Templates 冲突问题
在APP的Templates目录下创建以APP名为名称的目录
将HTML文件放入新创建的目录下

六、Models

通常,一个Model对应数据库的一张数据表
Djanjo中的Models 以类的形式表现

步骤:
在应用根目录下创建models.py 并引入models模块
创建类,继承models.Model 该类即是一张数据表
在类中创建字段

1、创建字段:(标题、内容两个字段)

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models

# Create your models here.
class Article(models.Model):
    title = models.CharField(max_length=32, default='Title')
    content = models.TextField(null=True)

2、生成数据表
命令行执行:

python manage.py makemigrations blog
python manage.py migrate

创建完成后,会生成 db.sqlite3
可以用SQLite Expert Personal 查看数据库文件

3、页面呈现数据

后端步骤:修改view.py

from __future__ import unicode_literals
from django.shortcuts import render
import models
def index(request):
    article = models.Article.objects.get(pk=1)
    return render(request, 'blog/index.html', {'article': article})

前端步骤:修改index.html

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<h1> {{article.title}}</h1>
<h1> {{article.content}}</h1>

</body>
</html>

七、创建超级用户,将应用加入admin后台

python manage.py createsuperuser

访问地址:http://127.0.0.1:8000/admin

将后台修改为中文界面:
修改setting.py 中LANGUAGE_CODE = ‘zh_Hans’

配置应用:
在应用下admin.py 中引入自身的models模块

from __future__ import unicode_literals
from django.contrib import admin
from models import Article

admin.site.register(Article)

修改数据默认显示的标题:

在Article类下添加一个方法
根据Python版本的不同 Python3使用__str__(self) Python2使用__unicode__(self)


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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值