小编Axi*_*xil的帖子

Django Rest Framework 自定义 POST URL 端点,使用 Swagger 或其他文档定义参数(request.POST)

以前在 Django 1.11 中,我以这种方式定义了 Django REST API:

在 url.py 中

url(r'^api/test_token$', api.test_token, name='test_token'),
Run Code Online (Sandbox Code Playgroud)

在 api.py 中

@api_view(['POST'])
def test_token(request):
    # ----- YAML below for Swagger -----
    """
    description: test_token
    parameters:
      - name: token
        type: string
        required: true
        location: form       
    """
    token = request.POST['token']

    return Response("test_token success", status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)

现在我要迁移到 Django 3.1.5,我想知道如何使用 Django Rest Framework (DRF) 以相同的方式实现上述目标。在上述特定情况下,POST API“test_token”接受一个参数。并生成像 swagger/redoc 这样的 API 文档(可用于测试 API)

在此处输入图片说明

一些注意事项:

django rest swagger django-rest-framework redoc

9
推荐指数
1
解决办法
1789
查看次数

Django python paypalrestsdk - 没有'Access-Control-Allow-Origin'和ppxo_unhandled_error错误

我试图使用paypalrestsdk实现与Django PayPal.

我按照示例中的代码示例进行了操作:https://prettyprinted.com/blog/1125955/creating-paypal-express-payments-in-flask

但是有这个错误:

这是我的模板.html,views.py和urls.py的代码片段 https://gist.github.com/axilaris/1e6e34ba5915abceb0dbd06d46baf08b

这是显示按钮的模板代码:

<div id="paypal-button"></div>
<script src="https://www.paypalobjects.com/api/checkout.js"></script>

<script>
    var CREATE_PAYMENT_URL  = 'http://127.0.0.1:8000/payment_create';
    var EXECUTE_PAYMENT_URL = 'http://127.0.0.1:8000/payment_execute';                        

    paypal.Button.render({

        env: 'sandbox', // Or 'sandbox'

        commit: true, // Show a 'Pay Now' button

        payment: function() {
            console.log("payment function")
            return paypal.request.post(CREATE_PAYMENT_URL).then(function(data) {
                console.log("return create payment")
                return data.paymentID;
            });
        },

        onAuthorize: function(data) {
            return paypal.request.post(EXECUTE_PAYMENT_URL, {
                paymentID: data.paymentID,
                payerID:   data.payerID
            }).then(function(res) {

                console.log(res.success)
                // The payment is complete!
                // You can now show a confirmation message to the …
Run Code Online (Sandbox Code Playgroud)

python django paypal paypal-rest-sdk

7
推荐指数
1
解决办法
259
查看次数

如何播种Django项目?-将一堆数据插入项目以进行初始化

我一直在Django中进行开发,想知道是否有一种方法可以将数据播种到Django中的数据库中。

在Ruby on Rails中,我使用seed.rb,然后在命令行中运行“ rake db:seed”。

我想要为项目初始化的状态,类型等种子一些数据的主要原因。

有类似的东西吗?

python django seed django-queryset

7
推荐指数
5
解决办法
5913
查看次数

django storages aws s3从模型记录中删除文件

我已经将我的django aws S3解决方案基于https://simpleisbetterthancomplex.com/tutorial/2017/08/01/how-to-setup-amazon-s3-in-a-django-project.html.

现在我试图找到一种方法来删除包含S3文件的模型中的行.我可以使用.delete()删除该行,但它不会在S3中删除.

如何使删除行也在S3中删除?

以下是我的代码:

https://gitlab.com/firdausmah/railercom/blob/master/railercomapp/api.py

@api_view(['POST'])
def delete_employee(request):
    # ----- YAML below for Swagger -----
    """
    description: This API deletes employee
    parameters:
      - name: employee_id
        type: integer
        required: true
        location: form
    """
    employee_id = request.POST['employee_id']
    employee = Employee.objects.get(id = employee_id)
    logging.debug(f"API employee username {employee.username}")
    employee.delete() <---------- here is where the delete row happens
    return Response("Employee Deleted!", status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)

https://gitlab.com/firdausmah/railercom/blob/master/railercomapp/models.py

class Employee(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='employee')
    company = models.ForeignKey(Company)
    username = models.CharField(max_length=30, blank=False)
    upload = models.FileField(blank=True) <--- …
Run Code Online (Sandbox Code Playgroud)

django amazon-s3 amazon-web-services delete-row django-storage

6
推荐指数
1
解决办法
1473
查看次数

django map widget控制台显示DjangoGooglePointFieldWidget Uncaught ReferenceError

我正在尝试实现django地图小部件 https://github.com/erdem/django-map-widgets

但是没有地图出现,我在浏览器控制台中有这个

Uncaught ReferenceError: DjangoGooglePointFieldWidget is not defined
Run Code Online (Sandbox Code Playgroud)

在settings.py中,我有

INSTALLED_APPS = [
...
    'mapwidgets',
]

MAP_WIDGETS = {
    "GoogleStaticMapWidget": (
        ("zoom", 15),
        ("size", "320x320"),
    ),
    "GoogleStaticMapMarkerSettings": (
        ("color", "green"),
    ),
    "GOOGLE_MAP_API_KEY": "AIzaSyA1fXsJSKqZH_Bl9d9wueJMlpXd-6tEJy0"
}
Run Code Online (Sandbox Code Playgroud)

在我的model.py中

class CompanySettingEdit(forms.ModelForm):
     display_companyname = forms.CharField(label='Display Company Name', max_length=50, required=True)
    class Meta:
        model = Company
        fields = ("display_companyname","location_point")

        widgets = {
            'location_point': GooglePointFieldWidget,
        }
Run Code Online (Sandbox Code Playgroud)

更新:我在settings.py中的静态文件配置

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "../projectapp/static"),
)

PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_DIR, '../../../static_root')
Run Code Online (Sandbox Code Playgroud)

在运行python manage.py collectstatic之后,静态文件被复制到另一个目录static_root - https://imgur.com/a/TmhYr …

python django google-maps postgis

6
推荐指数
1
解决办法
622
查看次数

离子1信号有一种方法可以知道从背景到前景打开应用程序或启动应用程序时是否有推送通知

我有一个离子应用程序使用ionic1制作并使用OneSignal进行推送通知.目前,在以下情况下,一个信号适用于推送通知: - 应用程序已打开 - 应用程序处于后台或终止,单击推送通知

使用这两个函数handleNotificationReceived和handleNotificationOpened

window.plugins.OneSignal.handleNotificationReceived(function(jsonData) {
    $state.go('panicalarm');
    console.log("navigate to panicalarm page");
  })


window.plugins.OneSignal.handleNotificationOpened(function(jsonData) {      
    $state.go('panicalarm');
    console.log("navigate to panicalarm page");
  })
Run Code Online (Sandbox Code Playgroud)

我想知道,如何在直接启动应用程序时处理推送通知,或者在不点击推送通知的情况下将应用程序从后台运行到前台?那可能吗 ?

android push-notification ios ionic-framework onesignal

6
推荐指数
1
解决办法
245
查看次数

MacOS 上的 Tensorflow:您的 CPU 支持此 TensorFlow 二进制文件未编译使用的指令:AVX2 FMA

我尝试使用这些说明为我的 mac 验证我的 tensorflow https://www.tensorflow.org/install/install_mac#ValidateYourInstallation

但产生这个结果。这可以吗?坏的?我怎样才能解决这个问题?谢谢

  • sess = tf.Session()

您的 CPU 支持此 TensorFlow 二进制文件未编译使用的指令:AVX2 FMA

  • 打印(sess.run(你好))

b'你好,TensorFlow!

Mac OS 版本:MacOS High Sierra 10.13.6

这是完整的安装和验证输出:

usermacbook:tensorflowve someuser$ python3 -m venv . 
usermacbook:tensorflowve someuser$ source bin/activate
(tensorflowve) usermacbook:tensorflowve someuser$ pip3 install --upgrade tensorflow
Collecting tensorflow
  Downloading https://files.pythonhosted.org/packages/57/38/96ee343729363297d62311272adc28b466d30f74c87dc645badb0102af56/tensorflow-1.9.0-cp36-cp36m-macosx_10_11_x86_64.whl (48.9MB)
    100% |????????????????????????????????| 48.9MB 30kB/s 
Collecting termcolor>=1.1.0 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz
Collecting protobuf>=3.4.0 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/6d/7e/51c91b28cb8446ebd7231d375a2025bca4c59d15ddc0cf2dd0867b400cd7/protobuf-3.6.0-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (1.2MB)
    100% |????????????????????????????????| 1.2MB 986kB/s 
Collecting absl-py>=0.1.6 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/96/5d/18feb90462c8edaae71305716c7e8bac479fc9dface63221f808a6b95880/absl-py-0.3.0.tar.gz (84kB)
    100% |????????????????????????????????| 92kB 3.7MB/s 
Collecting gast>=0.2.0 …
Run Code Online (Sandbox Code Playgroud)

python validation macos tensorflow

6
推荐指数
3
解决办法
8617
查看次数

Django REST Framework:如何用空字符串替换null?

我有一个ImageField类型的模型如下:

class Attendance(models.Model):
    face_image = models.ImageField(, blank=True, null=True, storage=MediaStorage())
Run Code Online (Sandbox Code Playgroud)

基于模型的序列化程序

class AttendanceSerializer(serializers.ModelSerializer):

    class Meta:
        model = Attendance
        fields = ('id','face_image')
Run Code Online (Sandbox Code Playgroud)

但是,如果imagefield为null,则显示如下

Its now showing like this in the json

  {
    "id": 1,
    "face_image": null
  }
Run Code Online (Sandbox Code Playgroud)

如果face_image(ImageField)为None,它将显示为null的输出.我想要的是将null替换为像这样的空字符串""

python django json django-rest-framework

6
推荐指数
4
解决办法
1813
查看次数

在应用程序沙盒中不起作用 IOS 模拟器 - Flutter

我正在尝试在应用程序实现中测试我的颤振。

在 itunesconnect->Users and Access->Testers ( https://appstoreconnect.apple.com/access/testers ) 中,我添加了一个沙箱用户。

然后我从 Android Studio 启动 IOS 模拟器。通过步骤登录,我似乎总是无法登录。

无法登录 用户名或密码不正确

查看屏幕截图 - https://imgur.com/a/lE2RiCp

我知道用户名和密码是正确的,因为我可以登录到 apple id 站点 ( https://appleid.apple.com/#!&page=signin )

如何解决此登录问题,或者我应该如何在 ios 上的应用程序中测试(沙盒)?

simulator sandbox in-app-purchase ios flutter

6
推荐指数
1
解决办法
1008
查看次数

ruby on rails - 如何使关系在路由,控制器,视图中工作?has_many,belongs_to

我正在努力让我的关系在轨道上工作.

我有一个用户,图库,评论模型

class Gallery  
  has_many :comments
  belongs_to :user
end

class User  
  has_many :comments
  has_many :galleries
end

class Comment
  belongs_to :gallery
  belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)

现在我应该在路线,控制器和视图中做什么来连接这一切?请帮我 ?很难找到答案.如果可以,我不希望它像railscast一样嵌套,但我想要每个模型,例如画廊我可以输入用户,例如评论我可以找到并输入galleryid和userid.

我现在完全迷失了,不知道该怎么办.请提供一些帮助.谢谢.

ruby-on-rails associations has-many relationship belongs-to

5
推荐指数
1
解决办法
9894
查看次数