蓝鲸Django: 访问数据库

来自CloudWiki
123.232.234.225讨论2020年5月26日 (二) 14:48的版本
跳转至: 导航搜索

数据库数据传入前台

修改views.py文件

moments.view.py:

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.i
from .models import WeChatUser,Status
。。。

def show_status(request):
    statuses = Status.objects.all()
    #import pdb
    #pdb.set_trace()
    print(statuses.query)
    return render(request,"status.html",{"statuses": statuses})


。。。

浏览器访问http://10.0.0.30:8000/status

会在后台看到这里print(status.query) 的打印结果,实际上是一个select语句:

SELECT "moments_status"."id", "moments_status"."user_id", "moments_status"."text", "moments_status"."pics", "moments_status"."pub_time" FROM "moments_status" ORDER BY "moments_status"."id" ASC


修改html模板

status.html:

Bd20-3-10.png

过滤时间:

  <p style="float:left; color:gray; font-size:30px">{{ status.pub_time|date:"m-d-Y H:i" }}</p>

修改时区:

wechat/settings.py:

TIME_ZONE = 'Asia/Shanghai'

效果

Bd20-3-11.png

前台数据传入数据库

修改urls.py文件

wechat/urls.py

"""wechat URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from moments.views import home
from moments.views import show_user,show_status,submit_post
from django.contrib.auth.views import LoginView,LogoutView
urlpatterns = [
    path('admin/', admin.site.urls),
    path('',LoginView.as_view(template_name="homepage.html")),
    path('', home),
    path('user',show_user),
    path('status',show_status),
    path('post',submit_post),
    path('exit',LogoutView.as_view(next_page="/"))
]

修改'退出'链接

templates/base.html:

<li><a href="#">About</a></li>
                        <li><a href="/exit">Exit</a></li>

修改settings.py

wechat/settings.py:

添加两行:(指定网站登陆页面 和登陆后跳转页面)

LOGIN_URL='/'
LOGIN_REDIRECT_URL='/status'