(Django 2.0,Python 3.6,Django Rest Framework 3.8)
我正在尝试填写calendarydays以下模型中的字段:
模型
class Bookings(models.Model):
booked_trainer = models.ForeignKey(TrainerProfile, on_delete=models.CASCADE)
booked_client = models.ForeignKey(ClientProfile, on_delete=models.CASCADE)
trainer_availability_only = models.ForeignKey(Availability, on_delete=models.CASCADE)
calendarydays = models.CharField(max_length=300, blank=True, null=True)
PENDING = 'PENDING'
CONFIRMED = 'CONFIRMED'
CANCELED = 'CANCELED'
STATUS_CHOICES = (
(PENDING, 'Pending'),
(CONFIRMED, 'Confirmed'),
(CANCELED, 'Canceled')
)
booked_status = models.CharField(
max_length = 9,
choices = STATUS_CHOICES,
default = 'Pending'
)
def __str__(self):
return str(self.trainer_availability_only)
Run Code Online (Sandbox Code Playgroud)
现在,我有一个从中获取值trainer_availability_only并将这些值转换为日期时间字符串列表的函数,返回的输出如下所示:
{'calendarydays':['2018-07-23 01:00:00','2018-07-23 02:00:00','2018-07-23 03:00:00','2018-07- 30 01:00:00','2018-07-30 02:00:00','2018-07-30 03:00:00','2018-08-06 01:00:00','2018- 08-06 02:00:00','2018-08-06 03:00:00','2018-08-13 …
Django 2.0、Django-Rest-Framework 3.8、Python 3.6
\n\n我正在使用 Postgres 数据库,并尝试将以下内容设置为 JSONField 的默认值:
\n\nfrom django.db import models\nfrom django.contrib.postgres.fields import JSONField\n\nclass TrainerProfile(models.Model):\n """data required to pull up trainer profile"""\n\n specific_workouts = JSONField(default=[{"specific": "standard session", "price": 100.00, "units": 1, "hours_per_unit": 1}, {"specific": "standard session", "price": 250.00, "units": 3, "hours_per_unit": 1}, {"specific": "standard session", "price": 300.00, "units": 5, "hours_per_unit": 1}])\n\n def __str__(self):\n return str(self.specific_workouts)\nRun Code Online (Sandbox Code Playgroud)\n\nDjango 文档中写道:
\n\n\n\n\n如果为该字段指定默认值,请确保它\xe2\x80\x99 是可调用的,例如 dict\n (对于空默认值)或返回字典的可调用(例如\n 函数)。错误地使用 default={} 会创建一个可变的默认值,\n 该默认值在 JSONField 的所有实例之间共享。
\n
我想提供一个包含字典的列表作为默认值。我可以通过原始数据或 Django …
我很难通过使用“ python”方法来使我的烧瓶应用程序运行。我使用没有问题
export FLASK_APP=microblog.py
flask run
Run Code Online (Sandbox Code Playgroud)
但尝试使用
python microblog.py
Run Code Online (Sandbox Code Playgroud)
将导致以下错误
ImportError: No module named 'app'
Run Code Online (Sandbox Code Playgroud)
我的microblog.py文件如下所示:
from app import app, db
from app.models import User
@app.shell_context_processor
def make_shell_context():
return {'db': db, 'User': User}
Run Code Online (Sandbox Code Playgroud)
我的__init__.py文件如下所示:
from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_login import LoginManager
app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
migrate = Migrate(app, db)
login = LoginManager(app)
login.login_view = 'login'
from app import routes
if __name__ == …Run Code Online (Sandbox Code Playgroud) 我对 Django 还是很陌生,正在尝试通过 Stripe 设置定期付款。我正在使用 Django 2.0 并成功设置了单次充电测试用例。但是,我不熟悉如何创建定期付款,并且我正在从事的项目需要它。
对于单次付款,我有以下几点:
观看次数
stripe.api_key = settings.STRIPE_SECRET_KEY
def checkout(request):
"""Stripe check out"""
new_tier = models.PaymentTier(
level = "Tier 3",
year = 2018
)
if request.method == "POST":
token = request.POST.get("stripeToken")
try:
charge = stripe.Charge.create(
amount = 2000,
currency = "usd",
source = token,
description = "Tier 3 subscription for Elite Fitness"
)
new_tier.charge_id = charge.id
except stripe.error.CardError as ce:
return False, ce
else:
new_tier.save()
return redirect("thank_you_page")
def payment_form(request):
"""Render stripe payment form template"""
context …Run Code Online (Sandbox Code Playgroud) Django 2.0,Python 3.6,Django Rest Framework 3.8
我对Django Rest Framework还是很陌生,并且我试图将自己的观点围绕在视图集中使用函数的逻辑(如果这是包含函数的正确位置)。
基本上,当用户在此特定视图集中向api发布内容时,我想发送一封电子邮件。我尝试使用该send_mail功能,但未成功。我有以下基于类的视图:
class SendInviteView(viewsets.ModelViewSet):
queryset = models.Message.objects.all()
serializer_class = serializers.MessageSerializer
@action(methods=['post'], detail=True)
def send_the_mail(self, request):
send_mail(
'Invitation',
'Try our app!',
'exampleemail@gmail.com',
['examplerecipient@gmial.com'],
fail_silently=False,
)
Run Code Online (Sandbox Code Playgroud)
[模型和序列化器是非常基本的,对于这个问题,我认为不需要,基本上只是一个EmailField()。我最终计划使用该电子邮件字段的输入来替换examplerecipient@gmail.com,但现在我只想了解如何向视图集添加功能]
运行时导致错误 python manage.py check
我已经通过sendgrid设置了电子邮件客户端,并且能够成功地将电子邮件发送给要求通过重置密码的用户rest-auth,但是我不了解在这种情况下如何发送电子邮件。
任何帮助是极大的赞赏。