当前位置: 首页 > news >正文

做一名网站编辑要具备什么资格网络宣传方案

做一名网站编辑要具备什么资格,网络宣传方案,建德网站seo,网站数据库建设计划书django建站过程(4)创建文档显示页面 创建文档显示页面项目主文件夹schoolapps中的文件urls.py在APP“baseapps”中创建url.py文件编写视图模板继承bootstrap创建head.html创建doclist.html创建docdetail.html 使用 markdown 编辑器安装模块Model 模型的d…

django建站过程(4)创建文档显示页面

    • 创建文档显示页面
      • 项目主文件夹schoolapps中的文件urls.py
      • 在APP“baseapps”中创建url.py文件
      • 编写视图
      • 模板继承
      • bootstrap
        • 创建head.html
        • 创建doclist.html
        • 创建docdetail.html
      • 使用 markdown 编辑器
        • 安装模块
        • Model 模型的documentes中定义修改:
        • 执行makemigrations与migrate完成数据迁移。
        • 保存markdown中图片路径
        • 修改views.py
        • 添加markdown到项目的urls文件
      • 修改url.py

创建文档显示页面

三个阶段:定义url,视图,模板

前面已创建过第一个页面,这里使用include(),方便以后的项目扩展

项目主文件夹schoolapps中的文件urls.py

from django.contrib import admin
from django.urls import path,include	#添加includefrom baseapps.views import index
from baseapps import url			#添加“baseapps”下的url.py
urlpatterns = [path('admin/', admin.site.urls),path('index/',index),path('doc/',include(url)),		#映射“baseapps”下的url.py
]

在APP“baseapps”中创建url.py文件

from django.urls import path
from . import views			#导入views
urlpatterns = [path('',views.doclist)		#映射到doclist函数
]

编写视图

在views.py里添加doclist函数

def doclist(request):return render(request,"index.html")

在“baseapps”中创建文件夹templates,在其中新建一个文件index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
这是一个新的页面
</body>
</html>

测试页面是否正常,http://127.0.0.1:8000/doc,将看到刚才创建的网页

模板继承

{%block content%}{%en%}

bootstrap

全局 CSS 样式 · Bootstrap v3 中文文档 | Bootstrap 中文网 (bootcss.com)下载Bootstrap,在baseapps文件夹下创建static文件夹,下方创建css,img,js,plugins四个文件夹,将bootstrap放到plugins文件夹下

在组件 · Bootstrap v3 中文文档 中选择如下导航作网页顶部,

image-20231109142206707

创建head.html
{% load static %}
<head><meta charset="UTF-8"><title>学校资源中心</title><link href="{% static 'plugins/bootstrap-3.4.1/css/bootstrap.css' %}" rel="stylesheet"><link rel="stylesheet" type="text/css" href="{% static 'css/code.css' %}">
</head>
<body>
<nav class="navbar navbar-default"><div class="container-fluid"><!-- Brand and toggle get grouped for better mobile display --><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a class="navbar-brand " href="#">廻雁阁</a></div><!-- Collect the nav links, forms, and other content for toggling --><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav"><li class="active"><a href="/doc">校园信息 <span class="sr-only">(current)</span></a></li><li><a href="doc">Link</a></li><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">Action</a></li><li><a href="#">Another action</a></li><li><a href="#">Something else here</a></li><li role="separator" class="divider"></li><li><a href="#">Separated link</a></li><li role="separator" class="divider"></li><li><a href="#">One more separated link</a></li></ul></li></ul><form class="navbar-form navbar-left"><div class="form-group"><input type="text" class="form-control" placeholder="Search"></div><button type="submit" class="btn btn-default">Submit</button></form><ul class="nav navbar-nav navbar-right"><li><a href="#">Link</a></li><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">Action</a></li><li><a href="#">Another action</a></li><li><a href="#">Something else here</a></li><li role="separator" class="divider"></li><li><a href="#">Separated link</a></li></ul></li></ul></div><!-- /.navbar-collapse --></div><!-- /.container-fluid -->
</nav>
{% block content %}
{% endblock %}<script src="{% static 'js/jquery-3.6.0.min.js' %}"></script>
<script src="{% static 'plugins/bootstrap-3.4.1/js/bootstrap.min.js' %}"></script>
</body>
创建doclist.html

用来显示文档列表

{% extends 'head.html' %}{% block content %}<div class="container"><div class="panel panel-default"><!-- Default panel contents --><div class="panel-heading"><span class="glyphicon glyphicon-list" aria-hidden="true"> 资料列表</span><ol class="breadcrumb">{% for obj in topic_list %}<li><a href="/doc/?p={{ obj.id }}">{{ obj.text}}</a></li>{% endfor %}</ol></div><!-- Table --><table class="table table-hover"><tbody>{% for obj in data_list %}<tr onclick="location.href='/doc/detail/?nid={{ obj.id }}'"><td >{{ obj.title|truncatechars:20 }}</td></tr>{% endfor %}</tbody></table></div></div>
{% endblock %}
创建docdetail.html

显示文档详情

{% extends 'head.html' %}{% block content %}<div class="container"><div class="panel panel-default"><div class="panel-heading"><span class="glyphicon glyphicon-subtitles" aria-hidden="true"> 信息详情</span><ol class="breadcrumb">{% for obj in topic_list %}<li><a href="/doc/?p={{ obj.id }}">{{ obj.text}}</a></li>{% endfor %}</ol></div><div class="panel-body"><div class="text-center"><h1>{{ doc_d.title }}</h1><span>{{ doc_d.date_added}}</span></div><hr><p></p><div class="form-group">{{ doc_d.doc_detail|safe}}</div></div></div></div>
{% endblock %}

使用 markdown 编辑器

安装模块
pip install django-mdeditor  # 用于后台编辑
pip install markdown # view视图中获取到数据库的数据,修饰为html语句,传到前端
pip install Pygments # 实现代码高亮
Model 模型的documentes中定义修改:
class documentes(models.Model):'''定义文档的结构'''topic = models.ForeignKey(topic, on_delete=models.CASCADE, verbose_name='主题类型')title = models.CharField(max_length=30, verbose_name='标题')date_added = models.DateTimeField(auto_now_add=True, verbose_name='时间')author = models.CharField(max_length=20, verbose_name='作者')text = models.TextField(verbose_name='摘要')doc_detail = MDTextField()  # 使用markdown
执行makemigrations与migrate完成数据迁移。

settings.pyINSTALLED_APPS 中添加APP ’mdeditor’

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','baseapps.apps.BaseappsConfig',     #或者使用 baseapps'mdeditor',]
保存markdown中图片路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')  #新建一个uploads文件夹,且在项目目录下
MEDIA_URL = '/media/'   #你上传的文件和图片会默认存在/uploads/editor下 这一步不用创建任何文件夹
修改views.py
from django.shortcuts import render,HttpResponse
from baseapps.models import documentes,topic
import markdown
# Create your views here.
def index(request):return  HttpResponse("第一个页面!")
def doclist(request):topic_list = topic.objects.all()data_list = documentes.objects.all().order_by("-date_added")if request.GET.get("p"):p_id = int(request.GET.get("p"))s=topic.objects.get(id=p_id)print(s)data_list = documentes.objects.filter(topic=s).order_by("-date_added")contest = {"data_list": data_list,'topic_list':topic_list}return render(request, "doclist.html",contest)
def docdetail(request):topic_list = topic.objects.all()d_id=int(request.GET.get("nid"))doc_d=documentes.objects.get(id=d_id)doc_d.doc_detail = markdown.markdown(doc_d.doc_detail,extensions=['markdown.extensions.extra','markdown.extensions.codehilite','markdown.extensions.toc',])contest={'doc_d':doc_d,'topic_list':topic_list}return render(request,'docdetail.html',contest)
添加markdown到项目的urls文件

添加图片路径

from django.contrib import admin
from django.urls import path,includefrom baseapps.views import index
from baseapps import url
urlpatterns = [path('/mdeditor/',include('mdeditor.urls')),path('admin/', admin.site.urls),path('index/',index),path('doc/',include(url)),path('',include(url)),
]from django.conf import settings
from django.conf.urls.static import static
#图片显示
if settings.DEBUG:urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

修改url.py

from django.urls import path
from baseapps.views import doclist,docdetail
urlpatterns = [path('',doclist),path('detail/',docdetail),
]

至此,后端显示如下:

image-20231109145817222

简单的前端页面显示如下:

image-20231109145936284

详情页显示如下

image-20231109150032638


文章转载自:
http://towerman.c7496.cn
http://clothes.c7496.cn
http://gypsography.c7496.cn
http://rayonnant.c7496.cn
http://delicious.c7496.cn
http://lobbyman.c7496.cn
http://fortuitism.c7496.cn
http://bindlestiff.c7496.cn
http://unglue.c7496.cn
http://imbue.c7496.cn
http://subdirectory.c7496.cn
http://matricentred.c7496.cn
http://courtesan.c7496.cn
http://novelistic.c7496.cn
http://eteocles.c7496.cn
http://hike.c7496.cn
http://bedpan.c7496.cn
http://rhizophilous.c7496.cn
http://surveyal.c7496.cn
http://anatolian.c7496.cn
http://hulled.c7496.cn
http://gannet.c7496.cn
http://canting.c7496.cn
http://lazaret.c7496.cn
http://heehaw.c7496.cn
http://citronella.c7496.cn
http://bargello.c7496.cn
http://enteropathy.c7496.cn
http://cesarean.c7496.cn
http://paramedic.c7496.cn
http://peroxyborate.c7496.cn
http://pressural.c7496.cn
http://masthead.c7496.cn
http://muscleless.c7496.cn
http://colligation.c7496.cn
http://fugate.c7496.cn
http://berbera.c7496.cn
http://masquerade.c7496.cn
http://quarryman.c7496.cn
http://soupiness.c7496.cn
http://transgress.c7496.cn
http://cockup.c7496.cn
http://chekiang.c7496.cn
http://rachel.c7496.cn
http://disedge.c7496.cn
http://laterality.c7496.cn
http://pausal.c7496.cn
http://orthodontia.c7496.cn
http://exposedness.c7496.cn
http://elated.c7496.cn
http://underdose.c7496.cn
http://abed.c7496.cn
http://unaging.c7496.cn
http://minutious.c7496.cn
http://vxd.c7496.cn
http://brimmer.c7496.cn
http://guayaquil.c7496.cn
http://avowry.c7496.cn
http://xanadu.c7496.cn
http://rubella.c7496.cn
http://zonular.c7496.cn
http://methylene.c7496.cn
http://upbear.c7496.cn
http://abductor.c7496.cn
http://maja.c7496.cn
http://mane.c7496.cn
http://inearth.c7496.cn
http://ripsnorting.c7496.cn
http://iconologist.c7496.cn
http://biweekly.c7496.cn
http://cosmoid.c7496.cn
http://notion.c7496.cn
http://sinitic.c7496.cn
http://ebon.c7496.cn
http://xanthoxylum.c7496.cn
http://eagre.c7496.cn
http://plummer.c7496.cn
http://homomorphic.c7496.cn
http://challah.c7496.cn
http://abdias.c7496.cn
http://limpness.c7496.cn
http://harehearted.c7496.cn
http://tribespeople.c7496.cn
http://wecht.c7496.cn
http://cosmonautics.c7496.cn
http://septipartite.c7496.cn
http://morelia.c7496.cn
http://navajo.c7496.cn
http://hellhole.c7496.cn
http://inauguration.c7496.cn
http://hygroscopic.c7496.cn
http://antennal.c7496.cn
http://acylic.c7496.cn
http://nitid.c7496.cn
http://absentee.c7496.cn
http://assayer.c7496.cn
http://deambulation.c7496.cn
http://cabobs.c7496.cn
http://hesitant.c7496.cn
http://tim.c7496.cn
http://www.zhongyajixie.com/news/92002.html

相关文章:

  • 南海网站建设哪家好武汉竞价托管公司
  • 团购做的比较好的网站seo研究中心
  • 郓城住房和城乡建设厅网站seo人才
  • 通州网站建设公司seo教程技术
  • 广州网站开发b2b网站大全
  • 临朐网站建设定制首选哪家公司厦门seo外包公司
  • 中国红河网关键词排名优化怎么做
  • 网站域名解析失败重庆百度竞价开户
  • 多合一网站建设厦门网站推广优化哪家好
  • 陶瓷网站开发背景厦门seo关键词排名
  • 用c语言做公司网站新闻媒体发布平台
  • 微网站制作电话必应搜索引擎国际版
  • 网站建设教程多少钱seo体系
  • 织梦如何做汽车贸易网站百度搜索风云榜排名
  • 二级网站 备案网站的营销推广
  • 上海备案证查询网站企业网站管理系统怎么操作
  • 网站3d展示怎么做的百度推广和百度竞价有什么区别
  • 在哪个网站做民营企业申报aso苹果关键词优化
  • 个人网站首页布局图网站优化外包推荐
  • 手机网站设计图尺寸系统优化助手
  • 一加官方网站进入如何推广品牌知名度
  • 做网站开发用笔记本要什么配置seo搜索优化
  • 微信怎么推广自己的产品seo结算系统
  • 什么是网站的备案号google chrome谷歌浏览器
  • 网站中的实名身份证验证怎么做保定seo排名
  • 做字幕模板下载网站有哪些营销型网站建设ppt
  • wordpress主题 电影免费培训seo
  • 个人网站方案建设书网络销售靠谱吗
  • 做外贸常用的b2b网站百度搜索推广
  • asp网站授权码如何做网址生成短链接