python学习笔记13 django(2)

接着之前的学习,要开始学习网站的具体架构和编辑设置内容的方法。(跳过了网站初始化设置)
测试网站目录如下在这里插入图片描述
看一些记一些,后面会再补充:

网站目录如下:

1.网站目录djangoapp
2.然后下面三个并列目录,
一个是自己生成的同名djangoapp目录,里面可能是环境设置。
一个是qp1自建的网站app目录,包含网站管理员的内容和设置。
一个是templates目录,包含网站具体内容页面。

以及一个初始化自带的数据库db.sqlite3和一个命令工具manage.py

网站内容实现的具体步骤大致如下:

1.先在网站目录djangoapp目录下运行cmd命令行建一个网管,这样开启后台可以管理资料库。

python manage.py createsuperuser

2.新建一个资料库Post(资料库可以看做是网站上面的栏目分类,比如公司概况就可以建一个资料库,里面可以增加如公司简介,组织机构等)。
在models.py中修改代码

from django.db import models
from django.utils import timezone

# Create your models here.
class Post(models.Model):
    title= models.CharField(max_length=200)
    slug = models.CharField(max_length=200)
    body = models.TextField()
    pub_date= models.DateTimeField(default=timezone.now)

    class Meta:
        ordering = ['-pub_date']

    def __unicode__(self):
        return self.title

在cmd中注册和同步新建的资料库架构。

#这是settings.py中app相关内容,最后一个qp1是app名称
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'qp1.apps.Qp1Config',
]
# makemigrations后面接网站app,名称来源见上图
d:\hello\djangoapp>python manage.py makemigrations qp1  

Migrations for 'qp1':
  qp1\migrations\0001_initial.py
    - Create model Post
#下面是同步
d:\hello\djangoapp>python manage.py migrate

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, qp1, sessions
Running migrations:
  Applying qp1.0001_initial... OK

3.用新建的管理员登录网站管理页面:http://127.0.0.1:8000/admin/
在新建的资料库总新增内容。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.在views.py中创建调用方法绑定资料库和templates中展示给用户的页面

from django.shortcuts import render
from django.http import HttpResponse
from .models import  Post
from django.template.loader import get_template
from datetime import datetime


def hello(request):
    return HttpResponse("Hello world!")
# Create your views here.
def homepage(request):
    template= get_template("index.html")
    posts=Post.objects.all()
    #post_lists= list()
    now = datetime.now()
    #for count,post in enumerate(posts):
     #   post_lists.append('No.{}:'.format(str(count))+str(post)+'<br>')
    #return  HttpResponse(post_lists)
    html= template.render(locals())
    return HttpResponse(html)

5.在templates中创建html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>欢迎光临</title>
</head>
<body>
<h1>what</h1>>
    <hr>
    <!--
    {% for post in posts  %}
<p style="font-family: 微软雅黑">{{ post.title }}</p>
<p style="font-family: 微软雅黑">{{ post.body }}</p>
{% endfor %}
-->
{% for post in posts %}
    <p style="font-family: 微软雅黑">
    <a href="/post/{{ post.slug }}">{{ post.title }}</a>
    </p>
{% endfor %}

<hr>
<h3>现在时间:{{ now }}</h3>

</body>
</html>

6.在urls.py中添加新增视图的url

from django.contrib import admin
from django.urls import path
from qp1 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/',views.hello,name='hello'),
    path('/',views.homepage,name='homepage')

]

完成以上设置后在浏览器中就能看到如下效果:
在这里插入图片描述
关于管理员后台字段设置可以参考这个文章:
(转)https://www.cnblogs.com/watertaro/p/10603080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值