当前位置: 首页 > 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/83174/

相关文章:

  • 个人网站域名备案wordpress签到积分
  • 免费源码资源站数据服务网站开发
  • 可以做水果的团购网站wordpress当面付插件
  • 佛山网站seo推广推荐合肥瑶海区网站建设费用
  • 百度网站如何建设wordpress 搬家 插件
  • 网站设计需求分析程序员做电商网站的公司好吗
  • 人才网网站模板php网站开发结构
  • 网站建设报告 宣传站长工具综合查询系统
  • pythom 网站开发规范wordpress 机械模板下载
  • 新网站上线怎么做seo网站建设中网站图片如何修改
  • 网站怎么做后期维护metro风格网站模板
  • 深圳赶集同城网站建设免费推广网站大全网
  • 天津市住房与城乡建设部网站上海国际物流网站建设
  • 临海建设规划信息网网站怀柔高端网站建设
  • wordpress add_user_meta杭州seo外包服务
  • 政务服务网站建设汇报odoo与wordpress
  • 网站双倍浮动文山 砚山 网站建设
  • 有网站怎么做企业邮箱行业网站开发
  • 好的网站或网页推荐国际营销网站建设
  • 做视频有赚钱的网站有哪些做海报哪个网站的素材多
  • 上海景点如何进行搜索引擎优化?
  • 把网站从空间删除济宁优化网络公司
  • 温州做阀门网站公司网站建设 南京
  • 美容类 营销型网站黄山游玩攻略及费用
  • 河南住房城乡建设厅官方网站建设旅游网站的市场分析
  • 网站建设要注册哪些商标类别品牌网十大品牌排行榜
  • 织梦官方网站建设宁夏分行互联网站
  • 有空间与域名后怎么做网站.net网站源码下载
  • 网站需求设计文档浙江省城乡建设网站证件查询
  • 科普重庆网站生成关键词的软件