日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python之Django框架开发博客

發布時間:2024/4/30 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python之Django框架开发博客 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先來一張目錄結構圖


1、第一步,必然是向創建目錄啦! ? ,打開命令行,進入想要安置項目的目錄

命令行輸入: django-admin ?startproject myblog



1、博客系統初始界面 ,顯示文章列表和添加新文章按鈕

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>博客</title> </head> <body> <h1><a href ="{% url "blog:edit_page" %}">添加新文章</a></h1> <center> {% for article in articles %}<a href ="{% url "blog:article_page" article.id %}">{{ article.id }}、{{ article.title }}</a><br/><br/> {% endfor %} </center> </body> </html>
2、點擊某一文章,進入文章詳情,顯示文章詳情,和修改文章按鈕

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>文章頁面</title> </head> <body> <center><h1>{{ article.title }}</h1><h3>{{ article.content }}</h3> </center> <br><br> <a href ="{% url "blog:reset_action" article.id %}">修改文章</a> </body> </html>3、點擊添加新文章或修改文章都進入 編輯文章界面(修改文章時進入編輯界面需要顯示原有數據)
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>撰寫文章</title> </head> <body> <center><form action="{% url "blog:edit_action" %}" method = "POST">{% csrf_token %}<input type="hidden" name ="id" value = {{ article.id }}><label>文章標題<input type="text" name ="title" value = {{ article.title }}></label><br><br><label>文章內容<input type="text" name ="content" value = {{ article.content }}></label><br><br><label><input type="submit" value ="提交"></label> </form> </center> </body> </html>

接下來開始寫后臺代碼,和一些必要的配置

Django默認使用SQLite,如果你想使用Mysql的話 ?可以直接去我的上一篇文章中進行兩步配置即可 ,傳送門:http://blog.csdn.net/chou_out_man/article/details/75514998

hiahia~~

連接數據庫前先創建model

# -*-coding : UTF-8 -*- from django.db import models #一個model對應數據庫的一張表 # Create your models here. #ORM 對象關系映射 #影藏了數據訪問細節,不需要寫SQL語句 class Article(models.Model):title = models.CharField(max_length=32 )content = models.TextField(null=True)#為了在Django中admin自帶的后臺管理界面直接顯示文章標題 def __str__(self):return self.title

人狠話不多,直接上后臺代碼!

在你新建的model的views.py中編寫

# -*-coding = UTF-8 -*- from django.shortcuts import render from . import models from django.http import HttpResponse #每個響應對應一個函數 #每個函數必須返回一個響應 #函數必須有一個參數,一般約定為request #每個響應函數對應一個url#獲取所有文章,返回到指定頁面 def index (request):articles = models.Article.objects.all()return render(request, "blog/index.html", {"articles": articles}) #根據文章編號,獲取文章詳細內容,返回到指定界面 def article_page(request,article_id):article = models.Article.objects.get(id = article_id)return render(request,"blog/article_page.html",{"article" : article}) #接受添加文章請求,跳轉到指定界面 def edit_page(request):return render(request,"blog/article_editpage.html") #編輯文章界面發出的請求 ,獲取文章內容,如果是添加新文章(id為空時,默認為0)則向數據庫插入數據 #如果是修改文章(id!=0),則修改數據庫id對應的文章 def edit_action(request):id = request.POST.get("id")title = request.POST.get("title")content = request.POST.get("content")if(str(id)=="0"):models.Article.objects.create(title=title,content=content)articles = models.Article.objects.all()return render(request,"blog/index.html",{"articles":articles})else :models.Article.objects.filter(id=id).update(title= title,content = content)article = models.Article.objects.get(id = id)return render(request,"blog/article_page.html",{"article" : article}) #接受修改文章請求,根據id修改指定的文章 def reset_action(request,article_id):article = models.Article.objects.get(id=article_id)return render(request,"blog/article_editpage.html",{"article":article})
配置url

當然是在項目容器的urls.py中配置啦

但是在實際開發中可能會有能多很多頁面需要配置,所以這里 使用軟鏈接鏈接到應用中在進行實際的配置

在容器中urls.py ? ? ? 注意使用include時需要先進行導入操作

"""myblog URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/1.9/topics/http/urls/ Examples: Function views1. Add an import: from my_app import views2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') Class-based views1. Add an import: from other_app.views import Home2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') Including another URLconf1. Import the include() function: from django.conf.urls import url, include2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf.urls import url from django.contrib import admin from django.conf.urls import url,include from blog import viewsurlpatterns = [url(r'^admin/', admin.site.urls),url(r'^blog/', include("blog.urls",namespace="blog")) ] 然后再進入應用l的urls.py中進行實際配置
from django.conf.urls import urlfrom . import viewsurlpatterns =[url(r'^index/$',views.index),#文章列表頁面url(r'^article/(?P<article_id>[0-9]+)$',views.article_page,name = "article_page"),url(r'^edit/$', views.edit_page , name = "edit_page"),url(r'^edit/action$', views.edit_action , name = "edit_action"),url(r'reset/action/(?P<article_id>[0-9]+)$', views.reset_action,name = "reset_action") ]

接下來,一個超級簡單(沒有注冊、登錄,沒有用戶權限管理、沒有收費的)的博客就大功告成啦!

python manage.py runserver 查看自己的博客ba !



總結

以上是生活随笔為你收集整理的Python之Django框架开发博客的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。