django初探-創建簡單的博客系統(一)


django第一步

1. django安裝

  pip install django

  print(django.get_version()) 查看django版本

2. 創建項目

  打開cmd,進入指定目錄

  django-admin startproject projectname或

  django-admin startproject projectname .     #最后是空格加點

  二者會在文件目錄上存在差別

3. 創建應用

  進入project目錄

  django-admin startapp appname或

  python manage.py startapp appname

  二者雖方式不同,但效果一樣

  manage.py文件在項目創建后會被自動生成在項目的根目錄下,它是對django-admin.py的簡單封裝,所以效果一樣

4. 啟動服務

  python manage.py runserver

5. 測試

  在瀏覽器中輸入http://localhost:8000或http://127.0.0.1:8000

  

django項目結構認識

  windows平台下使用tree/f命令查看詳細的文件結構

  下圖創建xbqr項目和blog應用后的文件結構:

  

xbqr文件夾

  1. settings.py:這個文件包含了項目的初始化設置,可以針對整個項目進行相關參數配置,比如配置數據庫,添加應用。

    重點關注以下幾項:

    (1)DEBUG:

      # SECURITY WARNING: don't run with debug turned on in production!
      DEBUG = True

    (2)ALLOWED_HOST

      在DEBUG為true時,其值可以為空,當部署到生產環境中時,要把主域名添加在這里,

      才能通過域名訪問到本網站

    (3)INSTALLED_APPS

       這是一個非常重要的配置,所有的應用都被添加在這里

    (4)DATEBASES

       配置數據庫,django支持多種數據庫,MySQL、PosttgreSQL、Oracle等,默認的配置是SQLite

    (5)LANGUAGE_CODE

      設置項目語言,一般情況下不用修改,若非用漢字,則設置為‘zh-hans’

    (6)TIME_ZONE

      設置時區,通常為東八區,設置為‘Asia/Shanghai’

  2. urls.py

    URL配置表文件,根據用戶輸入的url將URL映射到應用程序上

  3. wsgi.py

    WSGI是python所選擇的服務器和應用標准,Django也會使用

blog文件夾

  1. admin.py

    在這個文件中可以自定義Django的管理工具,比如設置在管理界面能夠管理的項目,

    或者通過自定義與系統有關的類對象,向管理功能添加新的內容

  2. apps.py

    包含對應用的配置,為管理功能提供一個合適的應用名稱

  3. migrations

    這是一個目錄,用於存儲應用的數據庫表結構的指令,通過這些指令可以修改和創建數據庫,從而在models.py模型類和數據庫之間遷移

  4. models.py

    應用的數據模型

  5. tests.py

    編寫測試文檔來測試所建立的應用

  6. views.py

    用戶保存響應各種請求的函數和類

編寫簡單博客

1. 編寫數據模型類

  修改blog/modells.py文件

from django.db import models

# Create your models here.
from django.contrib.auth.models import User
from django.utils import timezone
class BlogArticles(models.Model): #注意基類
    '''
        標題,內容,作者,發布時間
    '''
    title = models.CharField(max_length=300)
    content = models.TextField()
    author = models.ForeignKey(User, "unknow", related_name="blog_posts")
    publish = models.DateTimeField(default=timezone.now)

    class Meta:
        ordering = ("-publish",)

    def str(self):
        return self.title

2. 根據數據模型建立數據庫表

  在/xbqr/manage.py執行python manage.py makemigrations

  

  這樣會在D:\Pystu\xbqr\blog\migrations目錄下生成0001_initial.py文件

# Generated by Django 2.0.3 on 2018-03-25 06:47

from django.conf import settings
from django.db import migrations, models
import django.utils.timezone


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='BlogArticles',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=300)),
                ('content', models.TextField()),
                ('publish', models.DateTimeField(default=django.utils.timezone.now)),
                ('author', models.ForeignKey(on_delete='unknow', related_name='blog_posts', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('-publish',),
            },
        ),
    ]
View Code

  如果對上述代碼的含義不是很清楚,可以用python manage.py sqlmigrate blog 0001查看

  

3. 創建數據庫  

  上面創建了一個能夠建立數據庫表的文件,下面在此基礎上真正創建數據庫

  python manage.py migrate

  

  可以查看db.sqlite3數據庫文件

  如何查看可以參考博客:Python之sqlite3

4. 發布博客文章

  先用最簡單的方式實現博客文章的發布,使用django默認的管理功能就可以發布文章,要使用此功能,必須先創建超級管理員

  python manage.py createsuperuser

  

  在服務器運行的情況下

  

  打開瀏覽器輸入http://127.0.0.1:8000/admin進入網頁

  

  登錄后會看到Groups和Users兩項,卻找不到發布文章的地方

  找到/blog/admin/py文件,添加代碼

from django.contrib import admin from .models import BlogArticles # Register your models here. admin.site.register(BlogArticles)

  這下我們就看到發布博客的地方

  

  點擊add,添加博客

  下篇博客繼續講解如何顯示博客文章標題和文章內容!

  django初探-創建簡單的博客系統(二)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM