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文件



    
    Title



Hello blog!

修改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



    
    Title



{{article.title}}

{{article.content}}

七、创建超级用户,将应用加入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

你可能感兴趣的:(django,python)