Python--Django开发速成(2)

        在Python--Django开发速成(1)中,讲解了一个简单粗暴的Django实例,本以一个简单的博客网站为例,讲解一个比较完整的(含有html视图以及数据库的)Django实例。

        注意,本实例使用的是Django自带的SQLite3数据库,并使用SQLiteStudio进行数据内容的编辑,若要使用MySQL等其他数据库,请参考Django官网:https://docs.djangoproject.com/zh-hans/2.0/intro/tutorial02/

        本文的入门内容在Python--Django开发速成(1)的基础上进行。

1、打开CMD类工具,进入创建的Django项目文件夹,输入以下命令行以创建应用:

python manage.py startapp blog

    blog是应用的名称。

2、在项目名称/settings.py中,添加该应用:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',#添加应用
]

3、首先需要修改应用名称/models.py,在该文件中定义应用需要的(数据库的)数据表形式:

from django.db import models

#以一个类代表了数据表
class Article(models.Model):
    #博客标题字段
    title=models.CharField(max_length=32,default='Title')
    #博客内容字段
    content=models.TextField(null=True)
    def __str__(self):
        return self.title

4、项目名称/urls.py:

from django.contrib import admin
from django.urls import include, path
#在这里设置各个应用的url
urlpatterns = [
    #设定各个应用的url,admin是系统自带的,自己定义的需要使用include
    #上一文章创建的app1 
    path('app1/', include('app1.urls')),
    #设置namespace命名空间,以确保在前端能够访问到
    path('blog/', include('blog.urls',namespace='blog')),
    path('admin/', admin.site.urls),
]

5、blog(应用名称)/urls.py(需要新建):

from django.urls import path,re_path
from . import views
#此代码很重要,要与应用名称一致
app_name = 'blog'

urlpatterns = [
    #通过正则表达式设定该应用的访问url,此处还传入了文章id
    #设置视图的方法为views.article_page
    #设置url的name属性以访问到
    re_path(r'article/(?P<article_id>[0-9]+)$', views.article_page,name='article_page'),
]

6、blog(应用名称)/views.py:

from django.shortcuts import render
from . import models

#返回请求、视图文件、数据用于渲染
def article_page(request,article_id):
    article=models.Article.objects.get(pk=article_id)
    return render(request,'blog/articlepage.html',{'article':article})

7、数据库的相关设置完毕后,需要进行数据库迁移,打开cmd类工具,进入该项目的文件夹,确保当前目录含有manage.py文件,输入以下命令:

(1)制作数据迁移

python manage.py makemigrations

(2)实数据现迁移

python manage.py migrate

(3)打开项目自带的数据库,即可看到自动创建了数据表:

        注意,id字段是自动创建的。

8、对blog_article数据表进行编辑,即可修改项目数据库内容:

9、编写简单的视图:

在应用的文件夹中,创建templates文件夹,再在其中与应用名称相同的文件夹,用于存储视图的各个html文件,如下:

(1)新建index.html,输入以下代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>articlepage</title>
</head>
<body>
{# 直接显示后台的数据变量 #}
<h1>{{ article.title }}</h1>
<br/>
<h3>{{ article.content }}</h3>
<br/><br/>
<a href="">修改文章</a>
</body>
</html>

(2)新建articlepage.html,输入以下代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>articlepage</title>
</head>
<body>
<h1>{{ article.title }}</h1>
<br/>
<h3>{{ article.content }}</h3>
<br/><br/>
<a href="">修改文章</a>
</body>
</html>

10、运行,在cmd中,进入项目文件夹,输入以下命令,确保manage.py处于当前目录中:

python manage.py runserver

(1)打开浏览器,输入http://localhost:8000/blog/ 即可进入博客主页:

(2)点击文章名称(此处为哈哈),即可进入文章详情界面:

(3)另外一种查看文章详情界面的办法,输入http://localhost:8000/blog/article/  +  文章id(数据表中的),即可直接查看。

注意到,本文并没有完成修改文章功能,相关内容请查看Python--Django开发速成(3)

猜你喜欢

转载自blog.csdn.net/Smart3S/article/details/83903569