Django-简单的博客页面

#首页--渲染数据库内容
def index(request):
    article=models.Article.objects.all()
    return render(request,'index.html',{'articles':article})

#在index.html配置超链接
	template中可以用{%url 'app_name:url_name' param %} app_name:应用的空间名称,url_name:链接名
	其中app_name和url_name都在url中配置
	再配URl
		第一种方法:根urls,写在include()的第二个参数位置,namespace='blog' 这就是应用的命名空间
		第二种方法:应用下则写在path()的第三个参数位置,name='article',
			如果报错registered namespace就在应用.urls中加入app_name='应用名'
		这两种写法的区别主要取决于是否使用include引用了另一个url配置文件
    
#内容页-根据id进行渲染
def articel_page(request,article_id):
    article=models.Article.objects.get(pk=article_id)
    return render(request,'article_page.html',{'article':article})

#配置url
from django.urls import path,re_path
from . import views
urlpatterns = [
    path('', views.index),
    re_path('article/(?P<article_id>[0-9]+)', views.articel_page),
]

#编写新增页面/编辑页面
def edit_page(request,article_id):
    if article_id=='0':#因为文章id都是从1开始
        return render(request,'edit_page.html')
    article=models.Article.objects.get(pk=article_id)#如果不为0就取出article这个对象
    return render(request,'edit_page.html',{'article':article})
	//re_path('edit/(?P<article_id>[0-9]+)', views.edit_page,name='edit_page'),
	//在新增文字的url处要添加个参数0和在修改文章的url处要填写{% url 'blog:edit_page' article.id %}
	//在edit_page.html中判断是否有article对象有的话给个value值,因为要编辑所以有一种方法就是给个标签属性为隐藏然取到ID进行判断
   并配置url

edit_page.html:因为是post请求所有必须加一个{% csrf_token %} from提交后的数据到enit_action视图函数
-------------
	使用request.POST['参数名']获取表单数据
	models.Article.objects.create(title,content)创建对象
	
#进行处理请求
def edit_action(request):
    title=request.POST['title']
    content=request.POST['content']
    article_id=request.POST['article_id']
    models.Article.objects.create(title=title,content=content)
    if article_id=='0':
        #返回到首页这种方法有点low
        article=models.Article.objects.all()
        return render(request,'index.html',{'articles':article})
    article=models.Article.objects.get(pk=article_id)
    article.title=title
    article.content=content
    article.save()
    return render(request, 'article_page.html', {'article': article})





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值