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

手机企业网站模板网络营销怎样

手机企业网站模板,网络营销怎样,网站建设西班牙语,开学第一课汉字做网站0 NewProj 01 将source_data材料包放到项目根目录。将其中的static文件夹剪切到根目录。将剩下的temps文件剪切到templates文件夹下。可删source_data。后续用默认sqlite。 STATIC_URL /static/ STATICFILES_DIRS [os.path.join(BASE_DIR, static) ] 02 pytho…0 NewProj 01 将source_data材料包放到项目根目录。将其中的static文件夹剪切到根目录。将剩下的temps文件剪切到templates文件夹下。可删source_data。后续用默认sqlite。 STATIC_URL /static/ STATICFILES_DIRS [os.path.join(BASE_DIR, static) ] 02 python manage.py startapp product。python manage.py startapp users  。python manage.py startapp orders。安装、路由链接。users下temp/usr与login html。 1 users_app (① 登录 退出 ② 登录后登录注册按钮显示为用户名 ③ 点击用户名跳转至用户账户页面) 11 models  迁移 from django.db import modelsclass User(models.Model):user_name models.CharField(max_length32, uniqueTrue)password models.CharField(max_length128)token models.CharField(max_length128, nullTrue)class Meta:db_table usersclassmethoddef get_list(cls, **kwargs):filters {} # 赋值等号有空格传参等号无空格if kwargs.get(user_name):filters[user_name] kwargs.get(user_name)if kwargs.get(password):filters[password] kwargs.get(password)return cls.objects.filter(**filters)classmethoddef create_one(cls, user_name, password):return cls.objects.create(user_nameuser_name, passwordpassword)classmethoddef get_one(cls, pk):try:return cls.objects.get(pkpk)except cls.DoesNotExist:return None 12 html调整 !DOCTYPE html {% load static %} html langzxxherf {% static xxx.cssjsjpgpng%}form action# {% csrf_token %} div classlogin-form 13 views 类视图 import timefrom django.http import HttpResponse from django.shortcuts import render, redirect from django.urls import reverse from django.views import Viewfrom users.models import User from utils.utils import gen_md5class LoginRegisterView(View):def get(self, request):return render(self.request, login_register.html)class RegisterView(View):def post(self, request):user_name self.request.POST.get(user_name)password gen_md5(request.POST.get(password))user User.get_list(user_nameuser_name)if user:return HttpResponse(Occupied user info.)User.create_one(user_nameuser_name, passwordpassword)return redirect(reverse(users:login_register))class LoginView(View):def post(self, request):user_name self.request.POST.get(user_name)password gen_md5(request.POST.get(password))user User.get_list(user_nameuser_name, passwordpassword)if user:user user.first()user.token gen_md5(user.user_name) str(time.time())user.save()self.request.session[user_token] user.tokenself.request.session[user_id] user.user_idreturn redirect(reverse(users:my_account))else:return HttpResponse(Wrong Info.)class LogoutView(View):def post(self, request):user_id request.session.get(user_id)user User.get_one(pkuser_id)if user:user.token user.save()self.request.session.flush()return redirect(reverse(users:login_register))class MyAccountView(View):def get(self, request):return render(request, my_account.html) 14 加密工具。proj/utils.pck/utils.py import hashlibdef gen_md5(string: str) - str:md5 hashlib.md5()md5.update(string.encode(utf-8))return md5.hexdigest() 15 urls from django.urls import pathfrom users.views import LoginRegisterView, LoginView, RegisterView, LogoutView, MyAccountViewapp_name usersurlpatterns [path(login_register/, LoginRegisterView.as_view(), namelogin_register),path(login/, LoginView.as_view(), namelogin),path(register/, RegisterView.as_view(), nameregister),path(logout/, LogoutView.as_view(), namelogout),path(my_account/, MyAccountView.as_view(), namemy_account), ]2 product_app分页展示search by categoryor name。这里我们假设商品和分类是一对多的关系。 21 models 注意这里没有完善商品详情。一个onetoonefield类。迁移 22 views 将图片从admin中上传到前端可static探测到的路径。默认会上传到根目录需要设置一个media路径。static下new direc product。setting: STATIC_URL /static/ STATICFILES_DIRS [os.path.join(BASE_DIR, static) ]# MEDIA_URL os.path.join(BASE_DIR, static, product) # 不设置upload to MEDIA_URL os.path.join(BASE_DIR, static, product) # 设置upload属性自动生成文件夹不需要自己建 23 product model from django.db import modelsclass Category(models.Model):category_name models.CharField(max_length32, verbose_namecategory name)class Meta:db_table categoryverbose_name category tableverbose_name_plural verbose_namedef __str__(self):return self.category_nameclassmethoddef get_all(cls):return Category.objects.all()class Product(models.Model):product_name models.CharField(max_length32, verbose_nameproduct name)price models.FloatField(verbose_nameproduct price)category models.ForeignKey(Category, on_deletemodels.CASCADE)image models.ImageField(upload_toproduct, verbose_nameproduct image, nullTrue)class Meta:db_table productverbose_name product list tableverbose_name_plural verbose_namedef __str__(self):return self.product_nameclassmethoddef get_list(cls, **kwargs):filters {}if kwargs.get(name):filters[product_name__contains] kwargs.get(name)if kwargs.get(category): # obj 一方查多方filters[category] kwargs.get(category)return cls.objects.filter(**filters)classmethoddef get_one(cls, pk):try:return cls.objects.get(pkpk)except cls.DoesNotExist:return None admin from django.contrib import adminfrom product.models import Product, Categoryadmin.site.register([Product, Category, ]) 24 views from django.core.paginator import Paginator, PageNotAnInteger, InvalidPage from django.shortcuts import render from django.views import Viewfrom djangoProject1.settings import PAGE_SIZE from product.models import Product, Categoryfrom users.models import Userclass ProductListView(View):def get(self, request):page_num self.request.GET.get(page, 1)filters {category: self.request.GET.get(category, ),name: self.request.GET.get(name, )}category Category.get_all()user user_id self.request.session.get(user_id)if user_id:user_obj User.get_one(pkuser_id)if user_obj:user user_obj # {% if user %}前端作判断用products Product.get_list(**filters)products_data []for product in products:products_data.append({product_name: product.product.name,price: product.price,category: product.category.category_name,image: fproduct/{product.image}}) # 用于分页后前端点语法展示属性paginator Paginator(products_data, PAGE_SIZE)try:data paginator.page(page_num)except InvalidPage:data paginator.page(1)return render(self.request, shop.html)class ProductDetailView(View):def get(self, request, product_id):product Product.get_one(pkproduct_id)product {product_name: product.product.name,price: product.price,category: product.category.category_name,image: fproduct/{product.image}}return render(self.request, single_product.html, locals()) 25 urls from django.urls import pathfrom product.views import ProductListView, ProductDetailViewapp_name producturlpatterns [path(list/, ProductListView.as_view(), namelist),path(detail/int:product_id/, ProductDetailView.as_view(), namedetail) ] 3 orders_app (展示预订单内容成交后清空) 31 models from django.db import modelsfrom product.models import Product from users.models import Userclass Orders(models.Model):product models.ForeignKey(Product, on_deletemodels.CASCADE, verbose_nameproduct)quantity models.IntegerField(verbose_nameQuantity)status models.IntegerField(default0, verbose_nameOrder Status) # 支付否user models.ForeignKey(User, on_deletemodels.CASCADE, verbose_nameuser)order_id models.CharField(max_length32, verbose_nameOrder ID, nullTrue)class Meta:db_table ordersclassmethoddef get_one(cls, pk):try:return cls.objects.get(pkpk)except cls.DoesNotExist:return Noneclassmethoddef get_list(cls, **kwargs):filters {}if kwargs.get(user):filters[user] kwargs.get(user)if kwargs.get(status) or kwargs.get(status) 0:filters[status] kwargs.get(status)return cls.objects.filter(**filters)classmethoddef create_one(cls, product, quantity, user):return cls.objects.create(productproduct,quantityquantity,useruser)classmethoddef batch_update(cls, ids, order_id):for item_id in ids:obj cls.get_one(item_id)obj.order_id order_idobj.status 1obj.save()32 views import timefrom django.http import HttpResponseRedirect, HttpResponse, JsonResponse from django.shortcuts import render from django.views import Viewfrom orders.models import Orders from product.models import Product from users.models import Userclass OrderDetailView(View):def get(self, request):user_id self.request.session.get(user_id)if not user_id:return HttpResponse(Not logged in.)user User.get_one(user_id)orders Orders.get_list(useruser, status0)price_list []order_data []for order in orders:price_list.append(order.product.price * order.quantity)order_data.append({product_image: f{order.product.image},product_name: order.product.product_name,product_price: order.product.price,quantity: order.quantity,sum: order.quantity * order.product.price})total sum(price_list)return render(self.request, order_detail.html, locals())class OrderAddView(View):def post(self, request):product_id self.request.POST.get(product_id)product Product.objects.get(idproduct_id)quantity self.request.POST.get(quantity)user_id request.session.get(user_id)user User.get_one(user_id)Orders.create_one(product, quantity, user)return HttpResponse(Added.)class OrderBuyView(View):def post(self, request):ids list(map(int, self.request.session.get(ids)))order_id fOrder{time.time()}Orders.batch_update(ids, order_id)return HttpResponse(Done.)class OrderListView(View):def get(self, request):user_id self.request.session.get(user_id)user User.get_one(user_id)orders Orders.get_list(useruser, status0)order_data []prince_list []for order in orders:prince_list.append(order.product.price * order.quantity)order_data.append({image: fproduct/{order.product.image},name: order.product.product_name,price: order.product.price,quantity: order.quantity,sum: order.quantity * order.product.price})total sum(prince_list)return JsonResponse(order_data) 33 urls from django.urls import pathfrom orders.views import OrderDetailView, OrderBuyView, OrderAddViewapp_name ordersurlpatterns [path(detail/order_id/, OrderDetailView.as_view(), namedetail),path(buy/, OrderBuyView.as_view(), namebuy),path(add/, OrderAddView.as_view(), nameadd), ]
http://www.zqtcl.cn/news/640326/

相关文章:

  • 洛阳网站建设兼职企业网站建设文案
  • 动漫制作贵州seo策略
  • asp网站建设项目实训该怎么跟程序员谈做网站
  • 网站软件资源iis不能新建网站
  • 网站设计的发展趋势西安市建设工程交易网
  • 做外贸收费的服装网站武钢建设公司网站
  • wordpress 全文搜索企业网站优化策略
  • 犀牛云做网站如何网站备案需要什么东西
  • wordpress星座网站建设与优化计入什么科莫
  • 外贸网站优化方案绵阳网站建设怎么做
  • 黑龙江省网站建设电商的运营推广
  • 惠州建站模板wordpress更换主题帖子封面不显示
  • 网站开发为什么不用cgi了营销型网站案例
  • 网站怎么做飘窗电子商城网站建设的实训内容
  • 怎样申请建网站做it公司网站
  • 一个网站费用给人做ppt的网站吗
  • 免费简历在线制作网站杭州市网站建设公司
  • 用家庭宽带做网站 没有8080端口可以吗汕头教育学会网站建设
  • 南通seo公司网站广东涂料网站建设
  • 杭州哪家公司可以做网站苏州公司官网制作
  • 建一个网站大约多少钱做社区网站怎么做
  • 安阳建设网站企业单位网站建设内容需要什么
  • 网站如何被谷歌收录wordpress搭建企业官网
  • 网站 服务报价网站建设需要具备
  • 鹿泉企业网站建设wordpress使用支付宝当面付
  • 手机网站重要性彩票网站上的走势图是怎么做的
  • 牛牛襄阳网站建设做电商网站需要会些什么问题
  • 唯一做性视频的网站在线股票交易网站开发
  • 做二手的网站有哪些湛江小程序公司
  • 定制型网站建设wordpress md风格