栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

django项目的简单例子

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

django项目的简单例子

1.创建django项目、创建django应用 
2.定义模型类
    Country(国家):国家名、国家的描述
    city(城市): 城市名、城市的特点、所属国家(外键)、人口数量
首页展示所有国家,点击国家展示该国家的所有城市
点击城市名展示该城市详细信息,在详细信息后有删除和修改的操作

一、创建好项目,配置文件(具体操作见我的上上篇文章)

二、定义模型类

在models.py文件里创建模型类

from django.db import models

# Create your models here.
class Country(models.Model):
    name = models.CharField(max_length=10,verbose_name='国家名')
    miaoshu  = models.CharField(max_length=100,verbose_name='国家的描述')
    class Meta:
        db_table = 'country'
        verbose_name_plural = '国家'
    def __str__(self):
        return  self.name
class City(models.Model):
    name = models.CharField(max_length=10,verbose_name='城市名')
    tese = models.CharField(max_length=50,verbose_name='城市的特点')
    country = models.ForeignKey(to=Country,on_delete=models.CASCADE,verbose_name='所属国家id')
    num = models.IntegerField(verbose_name='人口数量')
    class Meta:
        db_table = 'city'
        verbose_name_plural = '城市'
    def __str__(self):
        return self.name

 

三、 生成迁移文件,执行迁移文件,可以在设置超级用户添加数据(具体操作见我的上上篇文章)

四、写视图

from django.shortcuts import render,HttpResponse,redirect
from django.views import View
from a1.models import Country,City

# Create your views here.
class CountryView(View):
    def get(self,request):
        coun=Country.objects.all()
        dict = {'coundata':coun}
        return render(request,'country.html',dict)

class CityView(View):
    def get(self,request,pk):
        city = City.objects.filter(country_id=pk)
        dict = {'citydata':city}
        return render(request,'city.html',dict)

class DeleteVeiw(View):
    def get(self,request,pk):
        City.objects.filter(id=pk).delete()
        return redirect('/country/')

class UpdataView(View):
    def get(self,request,pk):
        return render(request,'updata.html')
    def post(self,request,pk):
        name1 =request.POST.get('uname')
        tese1 = request.POST.get('utese')
        country_id1 = request.POST.get('ucountry_id')
        num1 = request.POST.get('unum')
        City.objects.get(id=pk).update(name=name1,tese=tese1,country_id=country_id1,num=num1)
        return redirect('/city/%s'%country_id1)

#country.html



    
    Title


国家

    {% for foo in coundata %}
    
    {% endfor %}

序号 国家名 国家的描述
{{ foo.id }} { foo.id }}/">{{ foo.name }} {{ foo.miaoshu }}
#city.html



    
    Title


城市

    {% for foo in citydata %}
    
    {% endfor %}
城市名 城市的特点 所属国家id 人口数量 操作
{{ foo.name }} {{ foo.tese }} {{ foo.country_id }} {{ foo.num }} { foo.id }}/">修改 { foo.id }}/">删除




    
    Title


修改信息
{% csrf_token %} 城市名: 城市的特点: 所属国家: 人口数量:

五、配置路由文件

from django.urls import path
#导包导入views
from a1 import views
urlpatterns = [
    path('country/',views.CountryView.as_view()),
    path('city//',views.CityView.as_view()),
    path('del//',views.DeleteVeiw.as_view()),
    path('update//',views.UpdataView.as_view())
]
from django.contrib import admin
from django.urls import path,include
from a1 import urls
urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include(urls))
]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993717.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号