接着之前的学习,要开始学习网站的具体架构和编辑设置内容的方法。(跳过了网站初始化设置)
测试网站目录如下
看一些记一些,后面会再补充:
网站目录如下:
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