登录  /  注册

python中Django图书人物适配系统的实现方法(前端)

不言
发布: 2018-11-15 15:23:37
转载
2305人浏览过

本篇文章给大家带来的内容是关于python中Django图书人物适配系统的实现方法(前端),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

Django添加路由

与flask一样,django也需要使用路由将url与服务端要执行的代码关联。

两者相同的地方是都可以将一个普通函数变成视图函数。不同的是,flask使用装饰器@app.route()定义路由,而django使用正则表达式定义路由。

操作:在我们建立的book项目中新建urls.py文件

#FristDjango\book\urls.py
from django.conf.urls import url
from django.contrib import admin
from book.views import index,detail
urlpatterns = [
    url(r'^$',index),   #http://127.0.0.1:9099/
    url(r'book/(?P<id>\d+)/$',detail)   #http://127.0.0.1:9099/book/1/
]</id>
登录后复制

修改主项目的setting.py文件

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

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

]
登录后复制

视图函数可以随意编写,现在仅用来做测试

#FristDjango\book\views.py
from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
def index(request): #django不同于flask,flask默认请求方式是request,而django里面的请求对象必须作为参数接收
    return  HttpResponse('ok')

def detail(request,id):
    return HttpResponse('%s is ok' %(id))
登录后复制

490910117-5bebc8102a1d5_articlex.png

^匹配URL路径的开始, $匹配URL路径的结束。中间什么都没有,表示这个正则匹配的是根目录,‘/’。

简易的网页结构

已经测试过网页是可用的,现在编写自己的html文件来实现自己的项目
我们的网页模板文件放在主项目templates/目录下的应用文件里,可能会有多个应用,所以建立不同的目录,用来区分。
需要实现与数据库的结合,后台管理的数据库信息应该在前台显示,重新编写视图函数

#FristDjango\book\views.py
from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
from book.models import BookInfo,HeroInfo


def index(request): #django不同于flask,flask默认请求方式是request,而django里面的请求对象必须作为参数接收
    # return  HttpResponse('ok')
    books = BookInfo.objects.all()
    return render(request,'book/index_old.html',context={
        'books':books,
    })
def detail(request,id):
    # return HttpResponse('%s is ok' %(id))
    book = BookInfo.objects.get(id=id)
    heros = book.heroinfo_set.all()
    return render(request,'book/detail_old.html',context={
        'book':book,
        'heros':heros
    })
登录后复制

主页显示的html页面

# templates/book/index_old.html
nbsp;html&gt;


    <meta>
    <title>主页</title>
登录后复制
    {% for book in books %}     
  •     

    {{ book.btitle }}

            

    {{ book.bpub_time }}

        

    {{ book.bcontent }}

        
  • {% endfor %}

书籍详情页显示的html页面

# templates/book/detail_old.html
nbsp;html&gt;


    <meta>
    <title>{{ book.btitle}}详情页</title>
    <h1>{{ book.btitle }}</h1>
登录后复制
        {% for hero in heros %}     

    {{ hero.hname }}

            

    {{ hero.hcontent }}

        {% endfor %}

1956280356-5bebc795245ce_articlex.png

如何让页面变好看

step1: 书籍信息太少,修改书籍数据库表结构,添加图书摘要、图书图片
step2:从网上找一些好看的页面文件来做修改

注意:静态文件(CSS,JS,IMG)单独存放一个目录static/
样式文件的目录需要修改,主项目settings.py文件修改Static files
登录后复制

step1操作:修改book/models.py文件中BookInfo表的结构,添加摘要,图片。新建static/uploads/目录用来存放上传的图片。

    bcontent = models.TextField(default='摘要', verbose_name='书籍摘要')
    bimg = models.ImageField(default=None, upload_to='static/uploads/')
登录后复制

终端执行数据库迁移命令

python manage.py makemigrations
python manage.py migrate
登录后复制

使用管理员登陆后台,修改书籍内容

step2操作:新建static/目录后,修改主项目settings.py文件

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]
登录后复制

注意:主页和详情页有大量重复代码,我们创建一个基模板,让应用模板继承于基类可减少代码重复量。
最后修改的网页显示如图:

2183000739-5bebc6facc149_articlex.png

4224616146-5bebc72fde1ea_articlex.png
项目框架图:

3683281831-5bebc8757e413_articlex.png

以上就是python中Django图书人物适配系统的实现方法(前端)的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:segmentfault网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号